// 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: account.vdl

package account

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

// Caveat describes a restriction on the validity of a blessing/discharge.
// TODO Remove this
type Caveat struct {
	Type string
	Args string
}

func (Caveat) __VDLReflect(struct {
	Name string `vdl:"v.io/x/ref/services/wspr/internal/account.Caveat"`
}) {
}

func init() {
	vdl.Register((*Caveat)(nil))
}
