import { Func } from "../Func.js";
import { ExpressionValue } from "../../../value/ExpressionValue.js";
import { ExprEvalResult } from "../../ExprEvalResult.js";
import { ExprType } from "../../../type/ExprType.js";
import { FunctionExpr } from "../FunctionExpr.js";
import { ParserRuleContext } from "antlr4";
export declare class CHOOSE extends Func {
    private static readonly ARG_NAME_CASES;
    private static readonly ARG_NAME_DEFAULT_VALUE;
    constructor();
    checkArgumentsAndGetReturnType(argumentTypes: Array<[ParserRuleContext, ExprType]>, ctx: any): ExprType;
    getReturnType(argumentTypes: Array<ExprType>): ExprType;
    protected calculateResult(callingExpr: FunctionExpr, evaluatedArguments: Map<string, ExpressionValue>): ExprEvalResult<ExpressionValue>;
}
