import ExpressionParser from '../../expressionparser'; export default StringTemplate; declare namespace StringTemplate { /** * Delimiter pair for template expressions. */ type DelimitersType = [string, string]; /** * Compiled template function. * * @param view - Template data object. * @returns Rendered string. */ type CompileResultType = (view: Object) => string /** * Configuration options for creating a StringTemplate instance. */ interface IConfig { /** * Template delimiters. */ delimiters?: DelimitersType, /** * Expression parser instance. */ expressionParser?: ExpressionParser } /** * Configuration options for compile and render. */ interface ICompileConfig { /** * Template delimiters. */ delimiters?: DelimitersType, /** * Expression parser instance. */ expressionParser?: ExpressionParser } } /** * String template renderer with expression support. */ declare class StringTemplate { /** * Create a StringTemplate instance. * * @param config - Configuration options. */ constructor(config?: StringTemplate.IConfig); /** * Set template delimiters by left and right values. * * @param delimiterLeft - Left delimiter. * @param delimiterRight - Right delimiter. * @returns This StringTemplate instance. */ setDelimiters( delimiterLeft: string, delimiterRight: string ): this; /** * Set template delimiters by tuple. * * @param delimiter - Delimiter tuple. * @returns This StringTemplate instance. */ setDelimiters(delimiter: StringTemplate.DelimitersType): this; /** * Set expression parser. * * @param expressionParser - Expression parser instance. * @returns This StringTemplate instance. */ setExpressionParser(expressionParser: ExpressionParser): this; /** * Compile template content with optional parser. * * @param content - Template content string. * @param parser - Expression parser instance. * @returns Compiled template function. */ compile( content: string, parser?: ExpressionParser ): StringTemplate.CompileResultType; /** * Compile template content with config. * * @param content - Template content string. * @param config - Compile configuration. * @returns Compiled template function. */ compile( content: string, config?: StringTemplate.ICompileConfig ): StringTemplate.CompileResultType; /** * Render template content with view data and optional parser. * * @param content - Template content string. * @param view - Template data object. * @param parser - Expression parser instance. * @returns Rendered string. */ render( content: string, view: Object, parser?: ExpressionParser ): string; /** * Render template content with view data and config. * * @param content - Template content string. * @param view - Template data object. * @param config - Compile configuration. * @returns Rendered string. */ render( content: string, view: Object, config?: StringTemplate.ICompileConfig ): string; }