import type { HyperScriptValue, EvaluationResult, TypedExpressionContext, TypedExpressionImplementation, ValidationResult, ExpressionCategory, ExpressionAnalysisInfo } from '../../types/command-types';
export declare const FunctionCallExpressionInputSchema: import("../../validation/lightweight-validators").RuntimeValidator<unknown>;
export type FunctionCallExpressionInput = any;
export declare class FunctionCallExpression implements TypedExpressionImplementation<HyperScriptValue, TypedExpressionContext> {
    readonly inputSchema: import("../../validation/lightweight-validators").RuntimeValidator<unknown>;
    readonly name = "functionCall";
    readonly category: ExpressionCategory;
    readonly precedence = 17;
    readonly associativity: 'left' | 'right' | 'none';
    readonly outputType = "any";
    readonly analysisInfo: ExpressionAnalysisInfo;
    validate(args: unknown[]): Promise<ValidationResult>;
    evaluate(context: TypedExpressionContext, ...args: unknown[]): Promise<EvaluationResult<HyperScriptValue>>;
    private resolveFunction;
    private resolveFromContext;
    private executeFunction;
    private executeConstructor;
    private resolveConstructor;
    private resolveArgument;
    getMetadata(): {
        name: string;
        category: "interoperability";
        version: string;
        description: string;
        inputSchema: import("../../validation/lightweight-validators").RuntimeValidator<unknown>;
        supportedFeatures: string[];
        performance: {
            complexity: string;
            averageExecutionTime: string;
            memoryUsage: string;
        };
        capabilities: {
            contextAware: boolean;
            supportsAsync: boolean;
            sideEffects: boolean;
            cacheable: boolean;
        };
    };
}
export declare function createFunctionCallExpression(): FunctionCallExpression;
export declare function isValidFunctionCallInput(args: unknown[]): args is FunctionCallExpressionInput;
export declare function callFunction(functionReference: string | Function, args: unknown[], context: TypedExpressionContext): Promise<EvaluationResult<HyperScriptValue>>;
export default FunctionCallExpression;
//# sourceMappingURL=index.d.ts.map