import type { CreatorExport } from './export-zip.js'; import type { ProjectMetadata } from './project-files.js'; /** * Documents the CLI lane keeps at the project ROOT, lifted out of the export's `source/`. * * `GAME-DESIGN.md` is read by `cover`, `judge` and `reference`, all of which look at the root. * `mechanics-plan.md` is where AGENTS.md tells the agent its build order lives, and that * instruction names the root too. Both are prose — moving them cannot break a build, and leaving * them cannot be noticed until a command quietly reports the project has no design. */ export declare const ROOT_DOC_FILES: string[]; export interface ImportProjectOptions { targetDir: string; /** Where extractEngine unpacked game/src/* and game/docs. */ extractedEngineDir: string; source: CreatorExport; metadata: ProjectMetadata; projectName: string; /** * The id the project adopts, when it is NOT the one the game was exported under — i.e. `import * --new-game`. Undefined means the project keeps the exported id and the two JSON files are * written through untouched. */ rewriteGameId?: string; } export interface ImportProjectResult { /** Paths written under `src/work/`, relative to it. */ workFiles: string[]; /** Docs lifted to the project root, by name. */ rootDocs: string[]; /** Files whose embedded `gameId` was rewritten. Empty unless `rewriteGameId` was given. */ rewritten: string[]; } export declare function importProject(options: ImportProjectOptions): ImportProjectResult;