import type { ChangeSet, RevertRecord } from "./snapshot-types.js";
export interface SnapshotPaths {
    dir: string;
    blobsDir: string;
    changeSetsLog: string;
    revertsLog: string;
}
export interface SnapshotServiceOptions {
    cwd: string;
}
export declare function getSnapshotPaths(cwd: string): SnapshotPaths;
export declare function hashBuffer(content: Buffer): string;
export declare function hashString(content: string): string;
export declare class SnapshotService {
    readonly paths: SnapshotPaths;
    constructor(options: SnapshotServiceOptions);
    init(): Promise<void>;
    storeBlob(content: Buffer): Promise<string>;
    storeText(content: string): Promise<string>;
    readBlob(hash: string): Promise<Buffer>;
    readText(hash: string): Promise<string>;
    appendChangeSet(changeSet: ChangeSet): Promise<void>;
    listChangeSets(): Promise<ChangeSet[]>;
    writeChangeSets(changeSets: readonly ChangeSet[]): Promise<void>;
    getNextChangeSetId(): Promise<number>;
    appendRevertRecord(record: RevertRecord): Promise<void>;
    listRevertRecords(): Promise<RevertRecord[]>;
}
//# sourceMappingURL=snapshot-service.d.ts.map