import { type TypeChecker, type Type } from "typescript";
import { type TSESTree } from "@typescript-eslint/types";
export declare const enumTypeDefinitionStatuses: {
    notAnEnum: number;
    valid: number;
    invalid: number;
};
export type EnumTypeDefinitionStatus = (typeof enumTypeDefinitionStatuses)[keyof typeof enumTypeDefinitionStatuses];
export declare function isPseudoEnumType(type: Type, checker: TypeChecker): boolean;
export declare function getAnchorNode(node: TSESTree.TSTypeAliasDeclaration): TSESTree.Node;
export declare function getPrecedingVariable(body: TSESTree.Statement[], currentIndex: number): TSESTree.VariableDeclaration;
export declare function isValidConstant(decl: TSESTree.VariableDeclarator, constantName: string): boolean;
export declare function getEnumConstantNameFromAnnotation(typeAnnotation: TSESTree.TypeNode): string;
export declare function isEnumTypeDefinition(node: TSESTree.TSTypeAliasDeclaration): number;
export declare function isNumericEnumLike<T extends TSESTree.Node>(node: T): any;
