/** * Move Files Service: Pure functional orchestrator * Coordinates all isolated concerns without classes or imperative state */ interface MoveFilesOptions { readonly extensions?: string; readonly force?: boolean; readonly dryRun?: boolean; readonly verbose?: boolean; readonly debugImports?: boolean; readonly tsConfigPath?: string; readonly recursive?: boolean; readonly tsconfig?: string; readonly absoluteImports?: boolean; readonly aliasPrefix?: string; } interface MoveFilesResult { readonly movedFiles: readonly string[]; readonly updatedImports: number; readonly createdDirectories: readonly string[]; readonly removedDirectories: readonly string[]; readonly errors: readonly string[]; } /** * Main functional orchestrator for moving files * PURE FUNCTION - no side effects except when explicitly executed */ declare const moveFiles: (sources: readonly string[], destination: string, options: MoveFilesOptions) => Promise; // Placeholder for TypeScript type declarations for the ts-import-move CLI tool interface MoveOptions { /** * Move directories recursively */ recursive?: boolean; /** * Preview changes without modifying files */ dryRun?: boolean; /** * Force overwrite without prompt */ force?: boolean; /** * Prompt for confirmation before overwriting */ interactive?: boolean; /** * Never overwrite existing destination files */ noClobber?: boolean; /** * Create backups of overwritten files * Values: none, simple, numbered */ backup?: 'none' | 'simple' | 'numbered'; /** * Comma-separated file extensions to consider * @default ".ts,.tsx" */ extensions?: string; /** * Path to tsconfig.json */ tsconfig?: string; /** * Show detailed operation logs */ verbose?: boolean; /** * New debug flag for import analysis */ debugImports?: boolean; /** * Path to tsconfig.json */ tsConfigPath?: string; /** * Follow symlinks */ followSymlinks?: boolean; /** * Convert relative imports to absolute imports (default: true) */ absoluteImports?: boolean; /** * Alias prefix for absolute imports (default: '@') */ aliasPrefix?: string; } /** * Command: move.ts – Handles moving imports as per the project plan. */ declare function moveAction(sources: string[], destination: string, options: MoveOptions): Promise; export { moveAction, moveFiles };