import React from 'react'; import { ImageStyle, TextStyle, ViewStyle } from 'react-native'; import { BlueBaseImageProps } from './BlueBaseImage'; import { ButtonProps } from './Button'; import { TextProps } from './Text'; export interface ComponentStateStyles { /** Action button container styles */ actionRoot?: ViewStyle; /** Action button styles */ action?: ViewStyle; /** Description text styles */ description?: TextStyle; /** Styles of image container view */ imageRoot?: ViewStyle; /** Image styles */ image?: ImageStyle; /** Main root container styles */ root?: ViewStyle; /** Title styles */ title?: TextStyle; } export interface ComponentStateProps { /** * Action button title */ actionTitle?: string; /** * Action button onPress callback function */ actionProps?: ButtonProps; /** * Action button onPress callback function */ actionOnPress?: ButtonProps['onPress']; /** * Description Text */ description?: any; /** * Description Text props */ descriptionProps?: TextProps; /** * A ReactNode to show custom UI, if provided, imageSource will be ignored */ image?: React.ReactNode; /** * Image source */ imageProps?: BlueBaseImageProps; /** * Image source */ imageSource?: BlueBaseImageProps['source']; /** * Title text */ title?: React.ReactNode; /** * Title text props */ titleProps?: TextProps; styles?: ComponentStateStyles; /** * Used to locate this view in end-to-end tests. */ testID?: string; } /** * # 🤡 ComponentState * * A generic component to show different states of a screen or a view. For example, * you may need to: * * - Show a loading state when data is loading, * - Show an empty state when there is not data to show on a screen. * - Show an error message when an exception occurs during execution. * * These are just a few examples. This component displays a message with an image, a title, * a description and a call to action button. * * ## Usage * ```jsx * * ``` */ export declare const ComponentState: React.ComponentType;