import { DetailedReactHTMLElement } from "react"; import "react-native"; import { ImageStyle, TextStyle, ViewStyle } from "react-native"; export type StyleProperty = | ViewStyle | TextStyle | ImageStyle | { [k: string]: ViewStyle | TextStyle | ImageStyle }; export type NamedStyles = { [P in keyof T]: StyleProperty; }; type BaseStyle = { [Element in keyof UserStyles]: { [Property in keyof UserStyles[Element] as Property extends | `@media${string}` | `:${string}` ? never : Property]: UserStyles[Element][Property]; }; }; type ResponsiveStyle = { [Element in keyof UserStyles]: { [P in { [Property in keyof UserStyles[Element]]: Property extends | `@media${string}` | `:${string}` ? { [QueryProperty in keyof UserStyles[Element][Property]]: [ QueryProperty, UserStyles[Element][Property][QueryProperty] ]; }[keyof UserStyles[Element][Property]] : never; }[keyof UserStyles[Element]] as P[0]]?: P[1]; }; }; type ComputedStyle = BaseStyle & ResponsiveStyle; export declare function create< UserStyles extends NamedStyles | NamedStyles >( styles: UserStyles | NamedStyles ): { fullStyles: UserStyles; ids: Record; styles: ComputedStyle; }; export declare function process< UserStyles extends NamedStyles | NamedStyles >( styles: UserStyles | NamedStyles ): { styles: UserStyles; fullStyles: UserStyles; ids: string; }; export function flush(): DetailedReactHTMLElement< { id: string; key: string; dangerouslySetInnerHTML: { __html: string; }; }, HTMLElement >; // Prop dataSet not available in typescript: https://github.com/necolas/react-native-web/issues/1668 // Workaround fix implemented from: https://github.com/necolas/react-native-web/issues/1684#issuecomment-712297248 declare module "react-native" { interface ViewProps { dataSet?: Record; } interface TextProps { dataSet?: Record; } interface ImageProps { dataSet?: Record; } }