export declare const OVERLAYS_DIR = "overlays"; export declare const OVERLAY_MANIFEST = "manifest.json"; /** * Describes everything a framework overlay changes beyond the files it ships. * The overlay's own files are copied implicitly; each key below names one * other surface the overlay needs to touch. */ export type OverlayManifest = { /** Prompt label for `--backend-framework` / the interactive picker. */ label?: string; /** Optional prompt description. */ description?: string; /** Merged into the scaffolded package.json. */ packageJson?: { dependencies?: Record; devDependencies?: Record; scripts?: Record; /** Base-template dependencies this overlay makes redundant. */ removeDependencies?: string[]; }; /** Applied after the overlay's files are copied. */ files?: { /** Base-template paths this overlay supersedes, relative to the project root. */ remove?: string[]; }; /** Printed after scaffolding. `{{packageManager}}` is substituted. */ gettingStarted?: string; }; export type TemplateOverlay = { dir: string; manifest: OverlayManifest; }; export type OverlayChoice = { name: string; label: string; description?: string; }; export declare function listOverlays(templateDir: string): OverlayChoice[]; export declare function resolveOverlay(templateDir: string, overlayName: string): TemplateOverlay | undefined; export declare function applyOverlay(projectDir: string, overlay?: TemplateOverlay): void; //# sourceMappingURL=overlays.d.ts.map