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;
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): StrippedHashlineContent;
export declare function stripKnownHashlineCopiedContent(content: string, absolutePath: string, cwd: string, store: HashlineSnapshotStore): string;
export declare function formatCompactHashlineEditResult(snapshot: HashlineSnapshot, diff: {
    diff?: string;
    firstChangedLine?: number;
}, messages?: readonly string[]): string;
//# sourceMappingURL=hashline.d.ts.map