import type { TemplateContext, TemplateExpression, VariableRegistry, VariableSuggestion } from "./types";
export declare class TemplateEngine {
    private variableRegistry;
    private expressionCache;
    constructor(variableRegistry?: VariableRegistry);
    setVariableRegistry(reg: VariableRegistry): void;
    getVariableRegistry(): VariableRegistry;
    parseTemplateExpression(expression: string): TemplateExpression;
    evaluateExpression(expressionString: string, context: TemplateContext): Promise<any>;
    evaluateExpressionAsString(expressionString: string, context: TemplateContext): Promise<string>;
    private findTopLevelTernaryOperators;
    private parseTernaryExpressionCore;
    private splitFunctionArgs;
    private parseExpressionPart;
    getExpressionSuggestions(partialExpr: string): VariableSuggestion[];
    private filterSuggestionsByPrefix;
    private filterSuggestionsByType;
}
