import { Get } from "./Get.js"; import { TypeGuard } from "./TypeGuard.js"; import { JsonValue } from "./Json.js"; import { Id } from "./Id.js"; import { List } from "./List.js"; import { Validatable } from "./Validatable.js"; //#region src/types/Enum.d.ts export type EnumConstructor = { all(): List; byIds(ids: Id[]): List; byId(id: Id, alt?: Get): E; isEnum: boolean; }; export declare const isEnumConstructor: (c: unknown) => c is EnumConstructor; export declare abstract class Enum implements Validatable { readonly name: string; readonly id: Id; readonly code: string; static isEnum: boolean; private static readonly tuples; protected constructor(name: string, id?: Id, code?: string); get isValid(): boolean; static all(): List; static filter(p: (value: E, index: number, array: E[]) => unknown, params?: unknown): List; static first(p?: (value: E, index: number, array: E[]) => unknown, params?: unknown): E; static byIds(ids?: Id[]): List; static byId(id: Id, alt?: Get): E; protected static allTuple(): Record; equals(other: E | Id): other is E; isIn(...items: E[] | Id[]): boolean; toJSON(): JsonValue; toString(): string; } export declare const isEnum: TypeGuard; //#endregion //# sourceMappingURL=Enum.d.ts.map