// 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.

// Package discharger defines an interface for obtaining discharges for
// third-party caveats.
package discharger

import "v.io/v23/security"

// Discharger is the interface for obtaining discharges for ThirdPartyCaveats.
type Discharger interface {
  // Discharge is called by a principal that holds a blessing with a third
  // party caveat and seeks to get a discharge that proves the fulfillment of
  // this caveat.
  Discharge(Caveat security.Caveat, Impetus security.DischargeImpetus) (Discharge security.WireDischarge | error)
}

error (
	// Indicates that the Caveat does not require a discharge
	NotAThirdPartyCaveat(c security.Caveat) { "en": "discharges are not required for non-third-party caveats (id: {c.id})" }
)
