import { DiagnosticAddendum } from '../common/diagnostic'; import { SliceNode, TupleNode } from '../parser/parseNodes'; import { ConstraintTracker } from './constraintTracker'; import { AssignTypeFlags, EvalFlags, TypeEvaluator, TypeResult } from './typeEvaluatorTypes'; import { ClassType, TupleTypeArg, Type } from './types'; import { InferenceContext } from './typeUtils'; export declare function makeTupleObject(evaluator: TypeEvaluator, typeArgs: TupleTypeArg[], isUnpacked?: boolean): Type; export declare function getTypeOfTuple(evaluator: TypeEvaluator, node: TupleNode, flags: EvalFlags, inferenceContext?: InferenceContext | undefined): TypeResult; export declare function getTypeOfTupleWithContext(evaluator: TypeEvaluator, node: TupleNode, flags: EvalFlags, inferenceContext: InferenceContext): TypeResult | undefined; export declare function getTypeOfTupleInferred(evaluator: TypeEvaluator, node: TupleNode, flags: EvalFlags): TypeResult; export declare function assignTupleTypeArgs(evaluator: TypeEvaluator, destType: ClassType, srcType: ClassType, diag: DiagnosticAddendum | undefined, constraints: ConstraintTracker | undefined, flags: AssignTypeFlags, recursionCount: number): boolean; export declare function adjustTupleTypeArgs(evaluator: TypeEvaluator, destTypeArgs: TupleTypeArg[], srcTypeArgs: TupleTypeArg[], flags: AssignTypeFlags): boolean; export declare function getSlicedTupleType(evaluator: TypeEvaluator, tupleType: ClassType, sliceNode: SliceNode): Type | undefined; export declare function expandTuple(tupleType: ClassType, maxExpansion: number): Type[] | undefined;