import { ExpressionNode, ParseNode } from '../parser/parseNodes'; import { VariableDeclaration } from './declaration'; import { Arg, TypeEvaluator, TypeResult } from './typeEvaluatorTypes'; import { ClassType, Type } from './types'; export declare function isEnumMetaclass(classType: ClassType): boolean; export declare function isEnumClassWithMembers(evaluator: TypeEvaluator, classType: ClassType): boolean; export declare function createEnumType(evaluator: TypeEvaluator, errorNode: ExpressionNode, enumClass: ClassType, argList: Arg[]): ClassType | undefined; export declare function transformTypeForEnumMember(evaluator: TypeEvaluator, classType: ClassType, memberName: string, ignoreAnnotation?: boolean, recursionCount?: number): Type | undefined; export declare function isDeclInEnumClass(evaluator: TypeEvaluator, decl: VariableDeclaration): boolean; export declare function getEnumDeclaredValueType(evaluator: TypeEvaluator, classType: ClassType, declaredTypesOnly?: boolean): Type | undefined; export declare function getTypeOfEnumMember(evaluator: TypeEvaluator, errorNode: ParseNode, classType: ClassType, memberName: string, isIncomplete: boolean): TypeResult | undefined; export declare function getEnumAutoValueType(evaluator: TypeEvaluator, node: ExpressionNode): Type;