import type { IRouter } from 'express'; export interface RestoreHostWriteOptions { getUpstreamBase: () => string | null; log?: (msg: string) => void; } export interface HostRestoreStatus { state: 'idle' | 'preparing' | 'streaming' | 'extracting' | 'completed' | 'failed' | 'rolling_back' | 'rolled_back'; progress: number; statusMessage: string; error?: string; backupId?: string; sourcePath?: string; targetPath?: string; } export declare function registerHostRestoreRoutes(router: IRouter, opts: RestoreHostWriteOptions): void; interface ResolvedHostTarget { /** Absolute path the bytes land at on disk. */ absoluteTarget: string; /** Sibling path that holds the existing target during the rename * swap; cleaned up on success, restored on failure. */ safetyPath: string; } export declare function resolveHostTarget(customPath: string, _isDir: boolean, sourcePath: string): ResolvedHostTarget; export declare function resolveZipEntryPath(entryPath: string, targetDir: string): string | null; export {}; //# sourceMappingURL=restore-host-write.d.ts.map