import { DiagnosticAddendum } from '../common/diagnostic'; import { ExpressionNode } from '../parser/parseNodes'; import { Arg, CallResult, TypeEvaluator, TypeResult } from './typeEvaluatorTypes'; import { ClassType, Type, TypeVarType } from './types'; import { InferenceContext, MemberAccessFlags } from './typeUtils'; export declare function getBoundNewMethod(evaluator: TypeEvaluator, errorNode: ExpressionNode, type: ClassType, diag?: DiagnosticAddendum | undefined, additionalFlags?: MemberAccessFlags): TypeResult | undefined; export declare function getBoundInitMethod(evaluator: TypeEvaluator, errorNode: ExpressionNode, type: ClassType, diag?: DiagnosticAddendum | undefined, additionalFlags?: MemberAccessFlags): TypeResult | undefined; export declare function getBoundCallMethod(evaluator: TypeEvaluator, errorNode: ExpressionNode, type: ClassType): TypeResult | undefined; export declare function validateConstructorArgs(evaluator: TypeEvaluator, errorNode: ExpressionNode, argList: Arg[], type: ClassType, skipUnknownArgCheck: boolean | undefined, inferenceContext: InferenceContext | undefined): CallResult; export declare function createFunctionFromConstructor(evaluator: TypeEvaluator, classType: ClassType, selfType?: ClassType | TypeVarType | undefined, recursionCount?: number): Type | undefined;