import type { Environment } from "../../env";
import { type Expr, type FnCallExpr } from "../../expr";
import type { TupleType, TypeField } from "../../types/definitions";
import { type TupleValue, type Value } from "../../value";
import type { EvaluatorContext } from "../context";
export declare function evaluateTupleElementValue({ expr, tupleFieldIndex, env, context, elementIndex, runtimeArgExprsInOrder, }: {
    expr: Expr;
    tupleFieldIndex: number;
    env: Environment;
    context: EvaluatorContext;
    elementIndex: number;
    runtimeArgExprsInOrder: Expr[];
}): {
    type: TypeField;
    value: Value | undefined;
    env: Environment;
};
export declare function evaluateTupleElementsValue({ args, env, context, }: {
    args: Expr[];
    env: Environment;
    context: EvaluatorContext;
}): {
    type: TupleType;
    value: TupleValue | undefined;
    env: Environment;
    runtimeArgExprsInOrder: Expr[];
};
export declare function evaluateTupleValue({ expr, env, context, }: {
    expr: FnCallExpr;
    env: Environment;
    context: EvaluatorContext;
}): FnCallExpr;
