export interface WatchOptions { /** Milliseconds after which a datetime is evicted from the deduplication set inside watchVmDirectory. */ lockTimeout?: number; /** Milliseconds to wait between consecutive size checks when polling for write completion. */ delayBetweenSizeCheck: number; /** When set, backups whose filename-encoded datetime is already past the immutability window are not re-locked. */ immutabilityDuration?: number; } export declare function waitForWriteDone(path: string, timeout: number, delayBetweenSizeCheck: number): Promise; export declare function watchVmDirectory(vmDir: string, onError: (err: unknown) => void, { lockTimeout, delayBetweenSizeCheck, immutabilityDuration }: WatchOptions): () => void; export declare function watchRemote(root: string, onError: (err: unknown) => void, options: WatchOptions): Promise<() => void>;