import type { ViteDevServer } from "vite";
import type { SyncService } from "../sync-service/index.js";
import { type Logger } from "../util/logger.js";
export interface MigrationRoutesOptions {
    /**
     * The Vite `config.root` (== the user's app root). The migration
     * restructures this tree in place, so it MUST be the real on-disk
     * root, not a logical alias.
     */
    appRootDir: string;
    getIsInitialized: () => boolean;
    syncService: SyncService | undefined;
    logger: Logger;
    /**
     * The Vite config root (usually `appRootDir` or `appRootDir/client`).
     * Used to unwatch/re-watch the file tree around the restructure step
     * so Vite's chokidar watcher doesn't process thousands of interim
     * file-change events that crash the dev server.
     */
    viteRoot: string;
}
export declare function registerMigrationRoutes(server: ViteDevServer, options: MigrationRoutesOptions): void;
//# sourceMappingURL=migration-routes.d.ts.map