import type { IncrementalUnit, IncrementalUnitId, IuState } from "./incremental-unit.js"; export interface IuLedger { add(iu: IncrementalUnit): void; commit(id: IncrementalUnitId, prefix?: { chars?: number; ms?: number; }): void; revoke(id: IncrementalUnitId): void; get(id: IncrementalUnitId): IncrementalUnit | undefined; latest(contextId: string, kind: IncrementalUnit["kind"]): IncrementalUnit | undefined; clear(contextId: string): void; } export type IuLedgerAnomaly = { readonly kind: "terminal_op"; readonly op: "commit" | "revoke"; readonly id: IncrementalUnitId; readonly state: IuState; } | { readonly kind: "unknown_iu"; readonly op: "commit" | "revoke"; readonly id: IncrementalUnitId; }; export declare class InMemoryIuLedger implements IuLedger { private readonly onEvent; private readonly maxContexts; private readonly byCtx; constructor(onEvent?: (a: IuLedgerAnomaly) => void, maxContexts?: number); add(iu: IncrementalUnit): void; commit(id: IncrementalUnitId, prefix?: { chars?: number; ms?: number; }): void; revoke(id: IncrementalUnitId): void; get(id: IncrementalUnitId): IncrementalUnit | undefined; latest(contextId: string, kind: IncrementalUnit["kind"]): IncrementalUnit | undefined; clear(contextId: string): void; private ctxMap; } //# sourceMappingURL=iu-ledger.d.ts.map