//#region src/enum/Enum.d.ts type EnumKey = string; type EnumValue = string | number | boolean | object | null | symbol | bigint; type EnumObject = Record; type UnionToIntersection = (U extends any ? (k: U) => void : never) extends ((k: infer I) => void) ? I : never; type LastOf = UnionToIntersection T : never> extends (() => infer R) ? R : never; type UnionToTuple> = [T] extends [never] ? [] : [...UnionToTuple>, L]; type EntriesToTuple = [U] extends [never] ? [] : LastOf extends infer L extends keyof T ? [...EntriesToTuple>, readonly [L, T[L]]] : []; declare function Enum(enumObject: T): Readonly; declare namespace Enum { function keys(enumObject: T): Readonly>; function values(enumObject: T): Readonly>; function entries(enumObject: T): Readonly>; function hasKey(enumObject: T, key: K): key is K & keyof T; function getValue(enumObject: T, key: K): T[K]; } type Enum = T[keyof T]; //#endregion export { Enum }; //# sourceMappingURL=index.d.ts.map