import { type SnapshotStore } from "./hashline-engine/index.ts"; export interface HashlineSnapshot { absolutePath: string; displayPath: string; tag: string; content: string; } export interface HashlineSnapshotStore { readonly snapshots: SnapshotStore; record(absolutePath: string, cwd: string, content: string): HashlineSnapshot; findByHeader(displayPath: string, tag: string): HashlineSnapshot | undefined; } export declare function hashlineDisplayPath(absolutePath: string, cwd: string): string; /** * The key a path's snapshots are filed under in the underlying {@link SnapshotStore}. * * `record` below is the only place that decides this, so anything asking the store about a * path it did not itself record goes through here rather than re-deriving the convention and * drifting from it. Note this is `path.normalize`, not `realpath`: two symlinked spellings of * one file are two keys here, unlike `canonicalMutationKey`. */ export declare function hashlineStoreKey(absolutePath: string): string; export declare function normalizeHashlineContent(content: string): string; export declare function computeHashlineTag(content: string): string; export declare function createHashlineSnapshotStore(): HashlineSnapshotStore; export declare function recordHashlineSnapshot(absolutePath: string, cwd: string, content: string, store: HashlineSnapshotStore): HashlineSnapshot; export declare function formatHashlineContent(snapshot: HashlineSnapshot, content?: string, startLine?: number): string; export interface StrippedHashlineContent { content: string; stripped: boolean; } export declare function stripKnownHashlineCopiedContentWithMeta(content: string, absolutePath: string, cwd: string, store: HashlineSnapshotStore, emittedPath: string): StrippedHashlineContent; export declare function stripKnownHashlineCopiedContent(content: string, absolutePath: string, cwd: string, store: HashlineSnapshotStore, emittedPath: string): string; export declare function formatCompactHashlineEditResult(snapshot: HashlineSnapshot, diff: { diff?: string; firstChangedLine?: number; }, messages?: readonly string[]): string; //# sourceMappingURL=hashline.d.ts.map