import type { StorageBackend, StorageOperations, StoredAgentRecord, CursorPage, ReceiptFilter, SpendReservationResult, GatewayCheckpoint, IntegrityReport, CheckpointCallback } from './types.js';
import type { Delegation, RevocationRecord, ActionReceipt } from '../types/passport.js';
import type { ScopedReputation, DemotionEvent } from '../types/reputation-authority.js';
import type { KeyRotationEntry } from '../types/identity.js';
export declare class VolatileBackend implements StorageBackend {
    private agents;
    private delegations;
    private revocations;
    private receipts;
    private reputations;
    private demotions;
    private keyRotations;
    private nonces;
    private spendReservations;
    private committedSpend;
    private checkpoints;
    private checkpointCallbacks;
    private _initialized;
    initialize(): Promise<void>;
    close(): Promise<void>;
    transaction<T>(fn: (tx: StorageOperations) => Promise<T>): Promise<T>;
    putAgent(agent: StoredAgentRecord): Promise<void>;
    getAgent(agentId: string): Promise<StoredAgentRecord | null>;
    listAgents(): Promise<StoredAgentRecord[]>;
    putDelegation(d: Delegation): Promise<void>;
    getDelegation(id: string): Promise<Delegation | null>;
    getDelegationsForAgent(pubKey: string): Promise<Delegation[]>;
    reserveSpend(delegationId: string, amount: number, currency: string, ttlSeconds?: number): Promise<SpendReservationResult>;
    commitSpend(reservationId: string): Promise<boolean>;
    releaseSpend(reservationId: string): Promise<boolean>;
    getSpentAmount(delegationId: string): Promise<number>;
    private _pendingReserved;
    appendRevocation(rev: RevocationRecord): Promise<void>;
    isRevoked(delegationId: string): Promise<boolean>;
    getRevocationsBy(revokedBy: string): Promise<RevocationRecord[]>;
    appendReceipt(receipt: ActionReceipt): Promise<void>;
    getReceipt(receiptId: string): Promise<ActionReceipt | null>;
    queryReceipts(filter: ReceiptFilter, limit?: number, cursor?: string): Promise<CursorPage<ActionReceipt>>;
    getReceiptCount(agentId?: string, scope?: string): Promise<number>;
    tombstoneReceipt(receiptId: string, reason: string): Promise<boolean>;
    getReputation(agentId: string, scope: string): Promise<ScopedReputation | null>;
    putReputation(rep: ScopedReputation): Promise<void>;
    appendDemotion(d: DemotionEvent): Promise<void>;
    getDemotionCount(agentId: string): Promise<number>;
    getDemotions(agentId: string): Promise<DemotionEvent[]>;
    appendKeyRotation(entry: KeyRotationEntry): Promise<void>;
    getKeyRotations(publicKey: string): Promise<KeyRotationEntry[]>;
    checkAndStoreNonce(requestId: string, ttlSeconds: number): Promise<boolean>;
    verifyIntegrity(): Promise<IntegrityReport>;
    rebuildDerivedState(): Promise<void>;
    pruneExpired(): Promise<{
        nonces: number;
        reservations: number;
    }>;
    createCheckpoint(gatewayId: string, gatewayPrivateKey: string): Promise<GatewayCheckpoint>;
    getLatestCheckpoint(): Promise<GatewayCheckpoint | null>;
    onCheckpoint(callback: CheckpointCallback): void;
    exportReceipts(filter: ReceiptFilter): Promise<{
        receipts: ActionReceipt[];
        chainValid: boolean;
    }>;
    private _snapshot;
    private _restore;
}
//# sourceMappingURL=volatile-backend.d.ts.map