import { FunctionType, ParamSpecType, Type, TypeVarType } from './types'; export declare class ConstraintSolutionSet { private _typeVarMap; constructor(); isEmpty(): boolean; getType(typeVar: ParamSpecType): FunctionType | undefined; getType(typeVar: TypeVarType): Type | undefined; setType(typeVar: TypeVarType, type: Type | undefined): Map; hasType(typeVar: TypeVarType): boolean; doForEachTypeVar(callback: (type: Type, typeVarId: string) => void): void; } export declare class ConstraintSolution { private _solutionSets; constructor(solutionSets?: ConstraintSolutionSet[]); isEmpty(): boolean; setType(typeVar: TypeVarType, type: Type): void; getMainSolutionSet(): ConstraintSolutionSet; getSolutionSets(): ConstraintSolutionSet[]; doForEachSolutionSet(callback: (solutionSet: ConstraintSolutionSet, index: number) => void): void; getSolutionSet(index: number): ConstraintSolutionSet; }