/** * [WHO]: MigrationManager class, handleMigration() * [FROM]: Depends on node:fs, node:path, node:os, chalk, config.ts * [TO]: Consumed by main.ts (migrate command) * [HERE]: core/agent-dir/migration-tool.ts - Safe copy-first migration from ~/.nanopencil and ~/.pencils to ~/.catui * * Design doc: docs/multi-agent-fs-design.md ยง12.2 */ export interface MigrationOptions { dryRun: boolean; apply: boolean; copy: boolean; } export interface MigrationTask { id: string; source: string; target: string; label: string; description: string; } export declare class MigrationManager { private readonly legacyNanoRoot; private readonly legacyPencilsRoot; private readonly newRoot; private readonly migrationLogPath; constructor(homeDir?: string); run(options: MigrationOptions): Promise; /** * Check if any migration is currently needed (legacy data exists and hasn't been migrated). */ isMigrationNeeded(): boolean; /** * Run migration silently (no preview, direct apply) and return the list of migrated labels. */ runSilent(): string[]; private plan; private execute; private isAlreadyApplied; private logMigration; }