import { IEnum } from './IEnum'; import { EnumConstructor, EnumKey } from './type'; /** * ### 枚举基类 * * @author Hamm.cn */ export declare class Enum implements IEnum { /** * ### 枚举的值 */ readonly key: K; /** * ### 枚举的描述 */ readonly label?: string; /** * ### 实例化创建一个枚举项目 * @param key 枚举值 * @param label 枚举描述 */ constructor(key: K, label?: string); /** * ### 查找一个枚举选项 * @param key `Key` */ static get = Enum>(this: EnumConstructor, key: K): E | null; /** * ### 获取一个枚举的标签 * @param key `Key` * @param defaultLabel 默认标签 */ static getLabel = Enum>(this: EnumConstructor, key: K, defaultLabel?: string): string; /** * ### 将枚举转为数组 * @returns 枚举数组 */ static toArray = Enum>(this: EnumConstructor): E[]; /** * ### 判断 `Key` 是否相等 * @param key `Key` */ equalsKey(key: EnumKey): boolean; }