import { DiagnosticAddendum } from '../common/diagnostic'; import { DecoratorNode, FunctionNode, ParseNode } from '../parser/parseNodes'; import { ConstraintSolution } from './constraintSolution'; import { ConstraintTracker } from './constraintTracker'; import { TypeEvaluator } from './typeEvaluatorTypes'; import { ClassType, FunctionType, ModuleType, Type } from './types'; export declare function validatePropertyMethod(evaluator: TypeEvaluator, method: FunctionType, errorNode: ParseNode): void; export declare function createProperty(evaluator: TypeEvaluator, decoratorNode: DecoratorNode, decoratorType: ClassType, fget: FunctionType): ClassType; export declare function clonePropertyWithSetter(evaluator: TypeEvaluator, prop: Type, fset: FunctionType, errorNode: FunctionNode): Type; export declare function clonePropertyWithDeleter(evaluator: TypeEvaluator, prop: Type, fdel: FunctionType, errorNode: FunctionNode): Type; export declare function assignProperty(evaluator: TypeEvaluator, destPropertyType: ClassType, srcPropertyType: ClassType, destClass: ClassType, srcClass: ClassType | ModuleType, diag: DiagnosticAddendum | undefined, constraints?: ConstraintTracker, selfSolution?: ConstraintSolution, recursionCount?: number): boolean;