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;
}
}