import type { SafeReturnType } from './common'; export type ExtractVariantNames = ExtractVariantKeys>; type ExtractVariantKeys = T extends object ? ExtractVariant> : never; type HasBooleanVariants = T extends Record<'true', any> ? true : T extends Record<'false', any> ? true : false; type ExtractSubVariantKeys = T extends object ? HasBooleanVariants extends true ? keyof Omit | boolean | undefined : keyof Omit | undefined : never; type ExtractVariant = T extends { variants: infer V; } ? { [key in keyof V]?: ExtractSubVariantKeys; } : never; export type UnistylesVariants = ST extends { useVariants: infer V; } ? V extends (variants: infer T) => void ? T : never : never; export {}; //# sourceMappingURL=variants.d.ts.map