import { FuncArg } from "../FuncArg.js"; import { FunctionExpr } from "../FunctionExpr.js"; import { ExprEvalResult } from "../../ExprEvalResult.js"; import { ExpressionValue } from "../../../value/ExpressionValue.js"; import { ExprType } from "../../../type/ExprType.js"; type UnpackConstructor = T extends new (boolean: any, string: any) => FuncArg ? U : never; export declare class FuncArgUnion extends FuncArg { private readonly options; constructor(...options: FuncArg[]); static of FuncArg>(required: boolean, name: string, constructors: T[]): FuncArgUnion>; transformValue(callingExpr: FunctionExpr, invocationValue: ExprEvalResult): ExprEvalResult; getType(): ExprType; } export {};