import type { Logger } from 'pino'; import type { FileOperation, ArchiveMode } from '../models/fileOperation.js'; /** * Ensures the destination directory exists, creating it if necessary. * In dry-run mode, only logs the action without touching the filesystem. */ export declare function ensureDestinationDir(operation: FileOperation, dryRun: boolean, logger: Logger): void; /** * Applies the atime and mtime from the operation to the destination file. * In dry-run mode, only logs the intended action. */ export declare function fixDates(operation: FileOperation, dryRun: boolean, logger: Logger): void; /** * Copies the source file to the destination and fixes its timestamps. * In dry-run mode, only logs the intended actions. */ export declare function copyFile(operation: FileOperation, dryRun: boolean, logger: Logger): void; /** * Moves the source file to the destination and fixes its timestamps. * In dry-run mode, only logs the intended actions. */ export declare function moveFile(operation: FileOperation, dryRun: boolean, logger: Logger): void; /** * Processes a single file operation according to the current mode. * Ensures the destination directory exists before performing any file action. * * @throws If an unknown mode is provided. */ export declare function processFileOperation(operation: FileOperation, mode: ArchiveMode, dryRun: boolean, logger: Logger): void;