import * as z$1 from "zod"; import { GraphQLEnumType } from "graphql"; //#region src/EnumType.d.ts /** * Strongly-typed string enum wrapper with one source of truth for zod, GraphQL, and JSON Schema. */ declare class EnumType { private readonly name; private readonly values; private readonly gqlEnum; constructor(name: string, values: T); /** Enum type name (used by GraphQL and JSON Schema). */ getName(): string; /** Returns the literal tuple of allowed values. */ getEnumValues(): T; /** GraphQL enum instance suitable for Pothos or vanilla GraphQL schemas. */ getPothos(): GraphQLEnumType; /** zod schema representing this enum. */ getZod(): z$1.ZodEnum<{ [K in T[number]]: K }>; /** Minimal JSON representation (alias of getJsonSchema). */ getJson(): { type: 'string'; enum: T; }; /** JSON Schema for this enum. */ getJsonSchema(): { type: 'string'; enum: T; }; } type AnyEnumType = EnumType<[string, ...string[]]>; /** * Helper to define an EnumType. * @param name Display/type name used across GraphQL and JSON Schema * @param values Literal tuple of allowed string values (at least one) */ declare const defineEnum: (name: string, values: T) => EnumType; //#endregion export { AnyEnumType, EnumType, defineEnum }; //# sourceMappingURL=EnumType.d.ts.map