import type { ReserveAttestation, ReserveAssuranceClass, ReserveAttestationLiability } from '../types/reserve.js';
export interface CreateReserveAttestationOptions {
    delegationId: string;
    assuranceClass: ReserveAssuranceClass;
    amount: number;
    currency: string;
    liability: ReserveAttestationLiability;
    attesterPrivateKey: string;
    attesterPublicKey: string;
    charterAnchor?: string;
    officeId?: string;
    ttlSeconds?: number;
}
/** Create a signed reserve attestation. */
export declare function createReserveAttestation(opts: CreateReserveAttestationOptions): ReserveAttestation;
export interface ReserveAttestationVerification {
    valid: boolean;
    signatureValid: boolean;
    notExpired: boolean;
    errors: string[];
}
/** Verify a reserve attestation's signature and expiry. */
export declare function verifyReserveAttestation(att: ReserveAttestation): ReserveAttestationVerification;
/** Compare two assurance classes by strength. Returns negative if a < b, 0 if equal, positive if a > b. */
export declare function compareAssuranceClass(a: ReserveAssuranceClass, b: ReserveAssuranceClass): number;
/** Check if an assurance class meets a minimum requirement. */
export declare function meetsAssuranceRequirement(actual: ReserveAssuranceClass, minimum: ReserveAssuranceClass): boolean;
//# sourceMappingURL=reserve.d.ts.map