import { type Environment } from "../../env";
import { type Expr, type FnCallExpr } from "../../expr";
import type { FunctionValue } from "../../function-value";
import type { TypeValue } from "../../type-value";
import type { Type } from "../../types/definitions";
import { type EvaluatorContext } from "../context";
export declare function evaluateFunctionCall({ expr, env, context, givenFunc, forMacroExpansion, }: {
    expr: FnCallExpr;
    env: Environment;
    context: EvaluatorContext;
    givenFunc?: {
        type: Type;
        value: TypeValue | FunctionValue | undefined;
    };
    forMacroExpansion?: boolean;
}): Expr;
