import type { MerkleProofNode } from '../types/passport.js'; export interface ReceiptBatch { batchId: string; merkleRoot: string; receiptCount: number; receiptHashes: string[]; epoch: number; previousBatchId: string | null; previousMerkleRoot: string | null; committedAt: string; committedBy: string; signature: string; } export interface ReceiptInclusionProof { batchId: string; merkleRoot: string; receiptHash: string; proof: MerkleProofNode[]; leafIndex: number; verified: boolean; } export interface ReceiptLedger { batches: ReceiptBatch[]; pendingReceipts: string[]; } export interface BatchVerification { valid: boolean; errors: string[]; signatureValid: boolean; rootValid: boolean; chainValid: boolean; } export interface BatchChainVerification { valid: boolean; errors: string[]; batchCount: number; totalReceipts: number; } export declare function createReceiptLedger(): ReceiptLedger; export declare function addReceipt(ledger: ReceiptLedger, receiptHash: string): void; export declare function commitBatch(_opts: { ledger: ReceiptLedger; committerPrivateKey: string; committerPublicKey: string; }): ReceiptBatch; export declare function proveInclusion(batch: ReceiptBatch, receiptHash: string): ReceiptInclusionProof; export declare function verifyInclusion(proof: ReceiptInclusionProof): boolean; export declare function verifyBatch(batch: ReceiptBatch, previousBatch?: ReceiptBatch | null): BatchVerification; export declare function verifyBatchChain(batches: ReceiptBatch[]): BatchChainVerification; //# sourceMappingURL=receipt-ledger.d.ts.map