import type { SessionRef } from "./discovery.js"; import type { LiveSessionBranch, MemoryBranches } from "./lineage.js"; import type { MemoryIndexOptions } from "./index.js"; interface SourceIdentity { device: bigint; inode: bigint; size: bigint; modifiedAt: bigint; changedAt: bigint; } export interface SourceObservation { file: string; identity: SourceIdentity; liveBranchSignature: string | null; } type LiveBranchResolver = MemoryIndexOptions["liveBranchForFile"]; export declare const observeSource: (file: string, branches: MemoryBranches, liveBranch: LiveSessionBranch | undefined) => SourceObservation | null; /** * Observation identity for a portable host source snapshot: derived from the * adapter revision plus the engine's source hash, so a changed or reloaded * snapshot invalidates request caches without any filesystem access. */ export declare const observeHostSource: (displayKey: string, revision: string, sourceHash: string) => SourceObservation; export declare const observeSources: (refs: readonly SessionRef[], branches: MemoryBranches, liveResolver: LiveBranchResolver) => SourceObservation[] | null; export declare const sameSourceObservation: (left: SourceObservation, right: SourceObservation) => boolean; export declare const sameSourceObservations: (left: readonly SourceObservation[], right: readonly SourceObservation[]) => boolean; export {}; //# sourceMappingURL=source-observation.d.ts.map