import type { ExecutionContext, TypedExpressionContext, ExpressionEvaluationOptions } from '../../../types/base-types';
export declare function createTypedExpressionContext(context: ExecutionContext, options?: ExpressionEvaluationOptions): TypedExpressionContext;
export declare function updateExecutionContext(originalContext: ExecutionContext, typedContext: TypedExpressionContext): ExecutionContext;
export declare class ExpressionAdapter {
    static evaluateMe(context: ExecutionContext): Promise<HTMLElement | null>;
    static evaluateYou(context: ExecutionContext): Promise<HTMLElement | null>;
    static evaluateIt(context: ExecutionContext): Promise<unknown>;
    static evaluateCSSSelector(context: ExecutionContext, selector: string, single?: boolean): Promise<HTMLElement | HTMLElement[] | null>;
    static getExpressionMetadata(expressionName: string): import("../../../types/expression-types").ExpressionMetadata;
    static getExpressionDocumentation(expressionName: string): unknown;
    static validateExpressionInput(expressionName: string, input: unknown): import("../../../types/base-types").ValidationResult<unknown>;
}
export declare class LegacyCompatibilityLayer {
    static meExpression: {
        name: string;
        category: "Reference";
        evaluatesTo: "Element";
        evaluate(context: ExecutionContext): Promise<HTMLElement | null>;
        validate(): null;
    };
    static youExpression: {
        name: string;
        category: "Reference";
        evaluatesTo: "Element";
        evaluate(context: ExecutionContext): Promise<HTMLElement | null>;
        validate(): null;
    };
    static itExpression: {
        name: string;
        category: "Reference";
        evaluatesTo: "Any";
        evaluate(context: ExecutionContext): Promise<unknown>;
        validate(): null;
    };
    static createQuerySelector(single?: boolean): {
        name: string;
        category: "Reference";
        evaluatesTo: "Element" | "Array";
        evaluate(context: ExecutionContext, selector: string): Promise<HTMLElement | HTMLElement[] | null>;
        validate(args: any[]): string | null;
    };
}
export declare class ExpressionMigrationUtility {
    private static migrationMap;
    static enableEnhanced(expressionName: string): void;
    static disableEnhanced(expressionName: string): void;
    static isEnhancedEnabled(expressionName: string): boolean;
    static getMigrationStatus(): {
        [k: string]: boolean;
    };
    static enableAllEnhanced(): void;
    static disableAllEnhanced(): void;
}
//# sourceMappingURL=bridge.d.ts.map