//#region src/types.d.ts type StyleExtension = 'css' | 'sass' | 'scss' | 'less'; //#endregion //#region src/generate/component.d.ts /** * Returns the tag name converted to PascalCase for use as a class name. * * @param str - Dash-case string to convert. * @returns PascalCase equivalent of `str`. */ declare function toPascalCase(str: string): string; /** * Returns the component TSX boilerplate for `stencil generate`. * Uses the v5 `encapsulation` API. * * @param tagName - Dash-case custom element tag name. * @param styleExtension - Optional stylesheet extension (e.g. `'css'`, `'scss'`). * @returns TSX source string for the new component file. */ declare function getComponentBoilerplate(tagName: string, styleExtension?: string): string; //#endregion //#region src/generate/style.d.ts /** * Returns the stylesheet boilerplate for `stencil generate`. * SASS indented syntax uses indentation instead of braces. * * @param ext - File extension (e.g. `'css'`, `'sass'`, `'scss'`). * @returns Stylesheet source string. */ declare function getStyleBoilerplate(ext: string): string; //#endregion //#region src/project/paths.d.ts declare const PROJECT_TEMPLATES: readonly ["component-starter"]; type ProjectTemplateId = (typeof PROJECT_TEMPLATES)[number]; /** * Returns the absolute path to a project template directory. * Resolves from the compiled dist/ location up to the sibling templates/ directory. * * @param templateId - One of the known template identifiers (e.g. `'component-starter'`). * @returns Absolute path to the template directory. */ declare function getTemplatePath(templateId: ProjectTemplateId): string; //#endregion //#region src/project/config.d.ts type OutputKey = 'loader' | 'standalone' | 'ssr' | 'ssr-wasm' | 'www'; type DocKey = 'cem' | 'json' | 'skill' | 'vscode'; interface PackageJsonFields { type?: 'module'; module?: string; types?: string; } interface ConfigSelections { namespace: string; outputs: ReadonlyArray; signals: boolean; docs: ReadonlyArray; } /** * Returns stencil.config.ts source for the given selections, or null if zero-config * covers everything (outputs = [] | ['loader'], no signals, no docs). * * @param sel - Wizard selections to encode into the config file. * @returns TypeScript source string, or null if no config file is needed. */ declare function generateStencilConfig(sel: ConfigSelections): string | null; /** * Returns the package.json distributable fields for the given output selections. * Returns an empty object for www-only (non-publishable app mode). * Priority: loader > standalone > ssr > ssr-wasm. * @param outputs - Wizard output selections to encode into package.json. * @returns An object with the fields to write into package.json. */ declare function generatePackageJsonFields(outputs: ReadonlyArray): PackageJsonFields; //#endregion //#region src/project/index-html.d.ts interface IndexHtmlSelections { projectName: string; namespace: string; globalStyle: boolean; } /** * Returns src/index.html source for a `www`-output project: entry