export interface BackupInfo {
    filename: string;
    path: string;
    checksum: string;
    createdAt: string;
    sizeBytes: number;
}
/**
 * Creates a ZIP backup of the entire data directory (hot-backup safe).
 * Stores a .sha256 checksum file alongside the archive.
 */
export declare function createBackup(dataDir?: string): Promise<BackupInfo>;
/**
 * Restores data from a ZIP backup.
 * Verifies checksum when a .sha256 file exists alongside the archive.
 * Performs atomic restore: current data is moved to a temp location first,
 * and rolled back if extraction fails.
 */
export declare function restoreBackup(zipPath: string, dataDir?: string): Promise<void>;
/**
 * Lists all available backups sorted by creation date (newest first).
 */
export declare function listBackups(dataDir?: string): Promise<BackupInfo[]>;
/**
 * Verifies a backup's integrity by comparing its SHA-256 checksum.
 * Returns true if valid, false if checksum file is missing or mismatch.
 */
export declare function verifyBackup(zipPath: string): Promise<boolean>;
/**
 * Starts an automatic daily backup cron job (runs at 03:00 every day).
 * Old backups beyond `MAX_AUTO_BACKUPS` are automatically pruned.
 */
export declare function startAutoBackup(cronExpr?: string): void;
/**
 * Stops the automatic backup cron job.
 */
export declare function stopAutoBackup(): void;
//# sourceMappingURL=backup.d.ts.map