export type TemplateFunc = (...args: any[]) => unknown;
export type TemplateFuncs = Record<string, TemplateFunc>;
export type TemplateSource = {
    name: string;
    content: string;
};
export type BuildRendererOptions = {
    useExternalParser?: boolean;
};
type TemplateExecutor = {
    render: (data: unknown) => string;
};
export declare class SafeString {
    value: string;
    constructor(value: string);
    toString(): string;
}
export declare class Renderer {
    template: TemplateExecutor | null;
    parseError: Error | null;
    constructor(template?: TemplateExecutor | null, parseError?: Error | null);
    Render(data: unknown): string;
    render(data: unknown): string;
}
export declare function buildRenderer(sources: TemplateSource[], funcs: TemplateFuncs, options?: BuildRendererOptions): Renderer;
export {};
