import type { ExecutionContext, TypedExecutionContext } from '../../types/core';
import type { ASTNode, ExpressionNode } from '../../types/base-types';
import type { ExpressionEvaluator } from '../../core/expression-evaluator';
import { type DecoratedCommand, type CommandMetadata } from '../decorators';
export interface CallCommandInput {
    expression: any;
}
export interface CallCommandOutput {
    result: any;
    wasAsync: boolean;
    expressionType: 'function' | 'promise' | 'value';
}
export declare class CallCommand implements DecoratedCommand {
    readonly name: string;
    readonly metadata: CommandMetadata;
    parseInput(raw: {
        args: ASTNode[];
        modifiers: Record<string, ExpressionNode>;
    }, _evaluator: ExpressionEvaluator, _context: ExecutionContext): Promise<CallCommandInput>;
    execute(input: CallCommandInput, context: TypedExecutionContext): Promise<CallCommandOutput>;
}
export declare const createCallCommand: () => CallCommand;
export default CallCommand;
//# sourceMappingURL=call.d.ts.map