import type { AuthorityDelegationV1, BudgetOperationResult } from './types.js'; /** * Reference linearizable ledger for one JavaScript process. Each mutation is a * single synchronous critical section. Distributed deployments must replace it * with a store providing the same all-ancestors atomicity and idempotency. */ export declare class InMemoryAuthorityBudgetLedger { private readonly counters; private readonly reservations; reserve(verifiedChain: readonly AuthorityDelegationV1[], actionRef: string, unit: string, amountString: string): BudgetOperationResult; markDispatched(actionRef: string): BudgetOperationResult; commit(actionRef: string): BudgetOperationResult; /** Cancellation is allowed only before dispatch. */ cancel(actionRef: string): BudgetOperationResult; counter(delegationId: string): { reserved: string; committed: string; }; } //# sourceMappingURL=budget.d.ts.map