/** How the reserve was verified. Ordered by strength:
 *  unbacked < self_attested < gateway_attested < escrow_backed < externally_attested */
export type ReserveAssuranceClass = 'unbacked' | 'self_attested' | 'gateway_attested' | 'escrow_backed' | 'externally_attested';
/** How the attestation basis was established (GPT #15). */
export type AttestationBasis = 'api_balance_check' | 'bank_statement' | 'escrow_lock' | 'self_declaration';
/** What happens if the attestation is false (GPT #15). */
export type FalseAttestationPenalty = 'reputation_slash' | 'bond_forfeit' | 'dispute_eligible' | 'none';
/** Liability semantics for a reserve attestation (GPT #15).
 *  Answers: what happens if this attestation turns out to be false? */
export interface ReserveAttestationLiability {
    /** How the reserve was verified */
    attestationBasis: AttestationBasis;
    /** Can the attester revoke this attestation unilaterally? */
    isRevocable: boolean;
    /** Penalty for false attestation */
    falseAttestationPenalty: FalseAttestationPenalty;
    /** Optional description of verification method */
    verificationMethod?: string;
}
/** A signed claim that a delegation has actual reserves behind it.
 *  Without this, spend limits on delegations are unverifiable promises.
 *
 *  Institutional context is required (GPT: meaningless without charter anchor).
 *  The attestation must identify WHICH charter and WHICH office authorized it. */
export interface ReserveAttestation {
    /** Unique attestation identifier */
    attestationId: string;
    /** Delegation this attestation covers */
    delegationId: string;
    /** Assurance class — how the reserve was verified */
    assuranceClass: ReserveAssuranceClass;
    /** Amount attested */
    attestedAmount: {
        value: number;
        currency: string;
    };
    /** Who created this attestation (public key) */
    attestedBy: string;
    /** Which charter backs this attestation (institutional context) */
    charterAnchor?: string;
    /** Which office authorized the attestation */
    officeId?: string;
    /** Liability semantics (GPT #15) */
    liability: ReserveAttestationLiability;
    /** ISO datetime — when attested */
    attestedAt: string;
    /** ISO datetime — MUST expire. No permanent reserve claims. */
    expiresAt: string;
    /** Ed25519 signature over canonical attestation content */
    signature: string;
}
//# sourceMappingURL=reserve.d.ts.map