import ParameterDefaultResolveOptions from "./ParameterDefaultResolveOptions"; import { ParameterResolver } from "../ParameterResolver"; import TemplateParameter from "./TemplateParameter"; export default class TextTemplate { private static readonly cached; private readonly templateParameters; private readonly defaultResolver; /** * internal list of values */ private readonly values; /** * Creates a new memory template for a string * * @param template The template text * @param defaultResolver defines how the template should resolve parameter default values */ constructor(template: string, defaultResolver?: ParameterDefaultResolveOptions); /** * Exposes a list copy to inspect the list of parameters * * @return a list of parameters in the template */ getParameters(): TemplateParameter[]; /** * gets or creates a template from the cache * * @param template the command to parse * @param defaultResolver defines how the template should resolve parameter default values * @return a new text template */ static get(template: string, defaultResolver?: ParameterDefaultResolveOptions): TextTemplate; private parse; private internalRender; /** * Renders the template after inserting the parameters * * @param resolver A resolver to extract parameter values * @param urlEncodeParameters if true, the parameters will be URL encoded * @return a string with its parameters replaced */ render(resolver: Record | ParameterResolver, urlEncodeParameters?: boolean | null): Promise; static render(template: string, resolver: Record | ParameterResolver, defaultResolver?: ParameterDefaultResolveOptions, urlEncodeParameters?: boolean): Promise; } //# sourceMappingURL=TextTemplate.d.ts.map