// 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 "v.io/x/ref/services/wspr/internal/account.Caveat"
}) {
}

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