export interface SnapshotIndexEntry { backupName: string; size: number; mtime: number; mode: number; } export type SnapshotIndex = Record; export interface SnapshotMeta { snapshotId: string; workspacePath: string; snapshotName: string; triggerType: string; createdAt: string; fileCount: number; totalBytes: number; workspaceHash: string; } export interface CreateSnapshotResult { ok: boolean; snapshotId: string; snapshotKey: string; fileCount: number; totalBytes: number; workspaceHash: string; error?: string; } export interface RestoreSnapshotResult { ok: boolean; filesRestored: number; filesDeleted: number; filesSkipped: number; preRestoreSnapshotKey?: string; error?: string; } export interface SnapshotListItem { snapshotId: string; snapshotKey: string; snapshotName: string; triggerType: string; createdAt: string; fileCount: number; totalBytes: number; } export declare function createSnapshot(params: { workspacePath: string; snapshotId?: string; snapshotName?: string; triggerType?: string; }): Promise; export declare function restoreSnapshot(params: { workspacePath: string; snapshotKey: string; preRestoreBackup?: boolean; }): Promise; export declare function listSnapshots(workspacePath: string): Promise; export declare function deleteSnapshot(snapshotKey: string): Promise<{ ok: boolean; error?: string; }>; export declare function getSnapshotRootPath(): string;