import type { PackageManager } from './package-manager.js'; import type { AddOn, Integration, Options } from './types.js'; type TemplateRoute = NonNullable[number]; export type TemplateRenderContext = { [key: string]: unknown; packageManager: PackageManager | undefined; projectName: string | undefined; typescript: boolean | undefined; tailwind: boolean | undefined; blank: boolean | undefined; js: string | undefined; jsx: string | undefined; fileRouter: boolean | undefined; codeRouter: boolean | undefined; routerOnly: boolean | undefined; includeExamples: boolean | undefined; addOnEnabled: Record; addOnOption: Record>; addOns: Array; integrations: Array; routes: Array; getPackageManagerAddScript: (packageName: string, isDev?: boolean) => string; getPackageManagerRunScript: (script: string) => string; getPackageManagerExecuteScript: (pkg: string, args?: Array) => string; relativePath: (path: string, stripExtension?: boolean) => string; integrationImportContent: (integration: Integration) => string; integrationImportCode: (integration: Integration) => string | undefined; renderTemplate: (content: string) => string; ignoreFile: () => never; }; export type TemplateRenderer = (template: string, context: TemplateRenderContext) => string | undefined; export declare function setDefaultTemplateRenderer(renderer: TemplateRenderer): void; export declare function registerTemplateRenderer(owner: object, renderer: TemplateRenderer): void; export declare function render(template: string, data?: Partial): string; export declare function renderForOptions(options: Options, template: string, data?: Partial): string; export {};