import type { ArchiveCodecId } from "./codec.js"; export declare const MANIFEST_FILE = "manifest.json"; export interface BackupManifestFile { path: string; bytes: number; sha256: string; } export interface BackupManifest { schemaVersion: 1; instance: string; home: string; createdAt: string; codec: ArchiveCodecId; uncompressedBytes: number; compressedBytes: number; files: BackupManifestFile[]; } export declare function sha256File(file: string): string; export declare function describeFile(directory: string, name: string): BackupManifestFile; export declare function writeManifest(directory: string, manifest: BackupManifest): void; export declare function readManifest(directory: string): BackupManifest; /** * Re-hashes what is on disk against what the manifest recorded. A zero-byte * entry is called out separately: it is the failure a full disk or a killed * compressor produces, and it is the one a size check alone would let through * as "well, the sha256 of nothing does match the sha256 of nothing". */ export declare function verifyManifest(directory: string, manifest: BackupManifest): string[]; //# sourceMappingURL=manifest.d.ts.map