import type { Facts, FilePatch, MergeTreePreflight, Oid, PatchIdentity, PathChange, RangeDiffEntry } from "./index.js"; /** * An in-memory Facts double for tests and playgrounds. Configure only the * questions a given test asks; any unconfigured method throws when called, * matching the contract's "throw = infrastructure failure" rule. * * Range-keyed tables use the key `${base}..${head}`. */ export interface MemoryFactsConfig { /** File contents keyed by `${revision}:${path}`; absent keys read as `null`. */ readonly files?: Readonly>; /** Changes for every range (an array) or per range (keyed by `${base}..${head}`). */ readonly changes?: readonly PathChange[] | Readonly>; /** Patch identities keyed by `${base}..${head}`. */ readonly patchIds?: Readonly>; readonly patches?: Readonly>; readonly isAncestor?: (ancestor: Oid, descendant: Oid) => boolean; readonly mergeBase?: (a: Oid, b: Oid) => Oid | null; readonly rangeDiffs?: Readonly>; readonly mergeTreePreflights?: Readonly>; } export declare function memoryFacts(config?: MemoryFactsConfig): Facts; //# sourceMappingURL=memory.d.ts.map