import { CallNode, DecoratorNode, FunctionNode } from '../parser/parseNodes'; import { TypeEvaluator } from './typeEvaluatorTypes'; import { ClassType, FunctionType, FunctionTypeFlags, Type } from './types'; export interface FunctionDecoratorInfo { flags: FunctionTypeFlags; deprecationMessage: string | undefined; } export declare function getFunctionInfoFromDecorators(evaluator: TypeEvaluator, node: FunctionNode, isInClass: boolean): FunctionDecoratorInfo; export declare function applyFunctionDecorator(evaluator: TypeEvaluator, inputFunctionType: Type, undecoratedType: FunctionType, decoratorNode: DecoratorNode, functionNode: FunctionNode): Type; export declare function applyClassDecorator(evaluator: TypeEvaluator, inputClassType: Type, originalClassType: ClassType, decoratorNode: DecoratorNode): Type; export declare function addOverloadsToFunctionType(evaluator: TypeEvaluator, node: FunctionNode, type: Type): Type; export declare function getDeprecatedMessageFromCall(node: CallNode): string;