import type { SpendScope, SpendStore, SpendWindow } from '../types'; export interface OutcomeSpendHold { holdId: string; scopeKey: string; window: SpendWindow; heldCents: number; limitCents: number; before: number; after: number; released: boolean; } export interface OutcomeSpendLedgerOptions { keyPrefix?: string; } export declare class OutcomeSpendLimitError extends Error { constructor(message: string); } export declare class OutcomeAtomicLedgerError extends Error { constructor(message: string); } export declare class OutcomeSpendLedger { private readonly store; private readonly keyPrefix; constructor(store: SpendStore, options?: OutcomeSpendLedgerOptions); authorize(args: { scope: SpendScope; window: SpendWindow; amountCents: number; limitCents: number; }): Promise; hold(args: { scope: SpendScope; window: SpendWindow; amountCents: number; limitCents: number; }): Promise; settle(hold: OutcomeSpendHold, actualCents: number): Promise; refund(hold: OutcomeSpendHold): Promise; dynamicLowBalanceThreshold(limitCents: number): number; scopeKey(scope: SpendScope): string; } //# sourceMappingURL=ledger.d.ts.map