import type { ColorValue, OpaqueColorValue } from 'react-native'; import type { SafeReturnType } 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> : { [K in keyof T]: ExtractBreakpoints; } : T; 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; } ? (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 ParseVariants = T extends object ? T[keyof T] extends object ? UnionToIntersection> extends never ? ParseVariants : UnionToIntersection> : T : T; type UnionToIntersection = (U extends any ? (k: U) => void : never) extends ((k: infer I) => void) ? I : never; type ParseStyleKeys = T extends object ? { [K in keyof T]: ParseNestedObject; } : never; export type ReactNativeStyleSheet = ParseStyleKeys>; export {}; //# sourceMappingURL=breakpoints.d.ts.map