import type { TemplateHelpers } from './types.js'; /** * Convert a string to kebab-case */ export declare function kebabCase(str: string): string; /** * Convert a string to camelCase */ export declare function camelCase(str: string): string; /** * Convert a string to PascalCase */ export declare function pascalCase(str: string): string; /** * Convert a string to snake_case */ export declare function snakeCase(str: string): string; /** * Create template helpers with current date/time */ export declare function createTemplateHelpers(): TemplateHelpers; /** * Template rendering context combining variables and helpers */ export interface TemplateContext extends TemplateHelpers { [key: string]: string | boolean | string[] | number | ((str: string) => string) | (() => string); } /** * Create a full template context with variables and helpers */ export declare function createTemplateContext(variables: Record): TemplateContext; /** * Render an EJS template string * @param template - The EJS template string * @param context - Template context with variables and helpers * @returns Rendered string */ export declare function renderTemplate(template: string, context: TemplateContext): string; /** * Render a file path template (using double-brace variable syntax) * @param pathTemplate - The path template string with double-brace placeholders * @param context - Template context with variables and helpers * @returns Rendered path string */ export declare function renderPathTemplate(pathTemplate: string, context: TemplateContext): string; /** * Scaffold template engine */ export declare class ScaffoldEngine { private context; constructor(variables: Record); /** * Get the current template context */ getContext(): TemplateContext; /** * Render an EJS template string using the current context. * @param template - The EJS template string to render * @returns The rendered string */ render(template: string): string; /** * Render a file path template using double-brace placeholder syntax. * Supports direct variable references (double-brace name double-brace) and helper * function calls (e.g. double-brace `kebabCase moduleName` double-brace). * @param pathTemplate - The path template string with double-brace placeholders * @returns The rendered path string with placeholders replaced by context values */ renderPath(pathTemplate: string): string; /** * Render an EJS template file asynchronously. * @param filePath - Path to the EJS template file * @returns Promise resolving to the rendered template output as a string */ renderFile(filePath: string): Promise; }