import type { ASTNode, ExecutionContext } from '../types/core';
import { type ExpressionCategory } from '../expressions/expression-tiers';
import { BaseExpressionEvaluator } from './base-expression-evaluator';
export interface LazyExpressionEvaluatorOptions {
    preload?: 'core' | 'common' | 'all' | 'none';
    categories?: ExpressionCategory[];
}
export declare class LazyExpressionEvaluator extends BaseExpressionEvaluator {
    private loadedCategories;
    private loadPromises;
    private options;
    constructor(options?: LazyExpressionEvaluatorOptions);
    private preloadExpressions;
    private preloadTier;
    private loadCategory;
    private _loadCategoryImpl;
    private getCategoryForNodeType;
    evaluate(node: ASTNode, context: ExecutionContext): Promise<any>;
    warmupExpressions(categories: string[]): Promise<void>;
    getLoadedCategories(): string[];
}
//# sourceMappingURL=lazy-expression-evaluator.d.ts.map