import type { Rule } from '@angular-devkit/schematics'; /** * Hook describing how to provision a single application source file. * * Exactly one of `content`, `path`, or `template` must be supplied: * * - `content` — inline body written verbatim to the target path. * - `path` — local filesystem path read at schematic execution time * (the "user provides a link to the file" mode). * - `template` — literal body whose `{{key}}` placeholders are replaced * with the matching value from `params`. Useful for * instantiating a pre-defined template with values. */ export interface FileHook { content?: string; path?: string; template?: string; params?: Record; } /** * Recognized file identifiers. Each key maps to a fixed relative path under * the resolved source root (`src/` by default, or the selected project's * `sourceRoot` from `angular.json`). * * The set matches the application source files documented at * https://angular.dev/reference/configs/file-structure#application-source-files. */ export type AppSourceFileKey = 'favicon' | 'indexHtml' | 'mainTs' | 'stylesCss' | 'appConfigTs' | 'appComponentTs' | 'appComponentHtml' | 'appComponentCss' | 'appComponentSpecTs' | 'appModuleTs' | 'appRoutesTs'; export interface NgWorkspaceSchema { name: string; project?: string; files?: Partial>; } export declare function ngWorkspace(options: NgWorkspaceSchema): Rule;