import { Action, AtomMut } from '@reatom/core'; export type EnumFormat = 'camelCase' | 'snake_case'; export type EnumAtom = AtomMut & { [Variant in T as Format extends 'camelCase' ? `set${Capitalize}` : Format extends 'snake_case' ? `set_${Variant}` : never]: Action<[], Variant>; } & { reset: Action<[], T>; enum: { [K in T]: K; }; }; export type EnumAtomOptions = { name?: string; format?: Format; initState?: T; }; export declare const reatomEnum: (variants: ReadonlyArray, options?: string | EnumAtomOptions) => EnumAtom; //# sourceMappingURL=reatomEnum.d.ts.map