import type { ColorValue, OpaqueColorValue } from 'react-native'; import type { SafeReturnType, UnionToIntersection } from './common'; import type { TransformStyles } from './core'; import type { BreakpointsOrMediaQueries, ToDeepUnistyles } from './stylesheet'; type ExtractTransformArray = T extends object ? { [K in keyof T]: ExtractBreakpoints; } : never; type ExtractBreakpoints = T extends object ? keyof T extends BreakpointsOrMediaQueries ? T[keyof T] : T extends Array> ? Array> : T extends Array ? T : { [K in keyof T]: ExtractBreakpoints; } : T; type IsEmptyObject = T extends Record ? true : keyof T extends never ? true : false; type ParseNestedObject = T extends (...args: infer A) => infer R ? (...args: A) => ParseNestedObject : T extends object ? T extends { variants: infer R; compoundVariants: infer C; } ? ParseVariants> & FlattenCompoundVariants & ParseNestedObject, false> extends never ? ParseVariants> & FlattenCompoundVariants & ParseNestedObject, false> : ParseVariants> & FlattenCompoundVariants & ParseNestedObject, false> : T extends { variants: infer R; } ? IsEmptyObject, false>> extends true ? ParseVariants> : ParseVariants> & ParseNestedObject, false> extends never ? ParseVariants> & ParseNestedObject, false> : ParseVariants> & ParseNestedObject, false> : T extends { compoundVariants: object; } ? ParseNestedObject, false> : { [K in keyof T as K extends '_web' ? never : K]: T[K] extends object ? T[K] extends OpaqueColorValue ? ColorValue : ExtractBreakpoints : T[K] extends string ? ShouldFlatten extends true ? string : T[K] : T[K]; } : T; type FlattenVariants = T extends object ? { [K in keyof T]: T[K] extends object ? { [key in keyof T[K]]: T[K][key] extends object ? ParseNestedObject : never; } : never; } : never; type FlattenCompoundVariants = T extends Array ? FlattenCompoundVariants : T extends { styles: infer S; } ? ParseNestedObject : never; type IsNonEmpty = T extends object ? (keyof T extends never ? false : true) : false; type IntersectCategoryValues = T extends object ? T extends Array ? T : UnionToIntersection extends infer R ? R extends never ? T[keyof T] : R : never : never; type MergeVariantCategories = T extends object ? UnionToIntersection<{ [K in keyof T]: IsNonEmpty extends true ? T[K] : never; }[keyof T]> extends infer R ? R extends never ? NonNullable : R : never : never; type ParseVariants = T extends object ? T[keyof T] extends object ? T[keyof T] extends Array ? T : MergeVariantCategories<{ [K in keyof T]: T[K] extends object ? IntersectCategoryValues : never; }> : T : T; type ParseStyleKeys = T extends object ? { [K in keyof T]: ParseNestedObject; } : never; export type ReactNativeStyleSheet = ParseStyleKeys>; export {}; //# sourceMappingURL=breakpoints.d.ts.map