// Copyright 2015 The Vanadium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

// This file was auto-generated by the vanadium vdl tool.
// Source: blessings.vdl

package principal

import (
	// VDL system imports
	"v.io/v23/vdl"
)

type BlessingsHandle int32

func (BlessingsHandle) __VDLReflect(struct {
	Name string "v.io/x/ref/services/wspr/internal/principal.BlessingsHandle"
}) {
}

type JsBlessings struct {
	Handle    BlessingsHandle
	PublicKey string
}

func (JsBlessings) __VDLReflect(struct {
	Name string "v.io/x/ref/services/wspr/internal/principal.JsBlessings"
}) {
}

func init() {
	vdl.Register((*BlessingsHandle)(nil))
	vdl.Register((*JsBlessings)(nil))
}

const ZeroHandle = BlessingsHandle(0)
