import type { SafeJSSnapshot } from "../restore.js";
export type Snapshot = SafeJSSnapshot;
export interface SnapshotBackend {
    read(): Promise<Snapshot | undefined>;
    write(snapshot: Snapshot): Promise<void>;
    remove(): Promise<void>;
}
export type FileSnapshotBackendOptions = {
    writeMaxAttempts?: number;
    writeRetryDelayMs?: number;
};
export declare class FileSnapshotBackend implements SnapshotBackend {
    #private;
    readonly path: string;
    constructor(path: string, options?: FileSnapshotBackendOptions);
    read(): Promise<Snapshot | undefined>;
    write(snapshot: Snapshot): Promise<void>;
    remove(): Promise<void>;
}
