import type { StoreFootprint } from './render-facts.ts'; import type { ReachabilityIo } from '@lmzhen/dsh-evolution-core'; /** * The io surface this reading needs; a runtime without it yields UNKNOWN for every store. * * It EXTENDS the reachability read surface instead of restating it: this module drives those readings, * so the reads they need are the reads it needs. Restating them here is what produced the same * "argument not assignable" error three times - the surface now has ONE owner (`ReachabilityIo`) and this * adds only the probe the report sweep uses on top. */ export interface FootprintIo extends ReachabilityIo { mtime?(path: string): Promise; } /** * Read what can be read, and say so for everything else. * @param io - the runtime io, or undefined when the caller has none (every store then reads UNKNOWN). * @returns one reading per registered store, in ledger order. */ export declare function reclamationFootprint(io: FootprintIo | undefined): Promise; /** * G3/3.4: the three reachability readings, folded into the footprint channel so the report has ONE shape. * * Paths come from the caller: the history root and the snapshot root live under the skills root, and the * reports directory under the evolution home. A runtime that does not state its skills root gets UNKNOWN * for the two rooted domains instead of a guess - the same three-state rule the rest of this file uses. * @param io - the runtime io, or undefined when the caller has none. * @param skillRoot - the configured skills root, or undefined when the runtime does not state one. */ export declare function reachabilityFootprint(io: FootprintIo | undefined, skillRoot: string | undefined): Promise; //# sourceMappingURL=footprint.d.ts.map