import { ComponentStateProps } from '@bluebase/components';
import React from 'react';
import { Theme } from '../../registries';
/**
 * # 🤡 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
 * <ComponentState
 *  title="Looks like your'e new here!"
 *  description="Start by creating your first entry."
 *  imageSource="https://picsum.photos/200"
 *  styles={{ image: { width: 100, height: 100 } }}
 *  actionTitle="Tap to Create"
 * />
 * ```
 */
export declare class ComponentState extends React.PureComponent<ComponentStateProps> {
    static defaultStyles: (theme: Theme) => {
        actionRoot: {
            marginTop: number;
        };
        description: {
            marginBottom: number;
            textAlign: string;
        };
        image: {
            height: number;
            width: number;
        };
        imageRoot: {
            marginBottom: number;
        };
        root: {
            alignItems: string;
            flex: number;
            justifyContent: string;
        };
        title: {
            marginBottom: number;
            textAlign: string;
        };
    };
    render(): JSX.Element;
}
