import { ElementType, ReactNode } from 'react'; import { ButtonProps } from '../../Inputs/Button'; export interface EmptyStateProps { /** Illustration displayed above the description. Defaults to the empty state illustration. */ icon?: ReactNode; /** Main message explaining the empty state */ description?: ReactNode; /** Secondary message displayed below the description */ subtitle?: ReactNode; /** Label of the action button. The button is only rendered when provided. */ actionLabel?: ReactNode; /** * Props forwarded to the action button. Polymorphic like the Button component: * pass a routing component via `component` (e.g. `{ component: Link, to: "/home" }`). */ actionProps?: ButtonProps; /** Free slot rendered below the action button for fully custom content */ children?: ReactNode; } /** * Centered empty state with an illustration, a description and an optional action button. * The action button accepts any root component, so consumers can plug their router link * without coupling the design system to a routing library. */ declare const EmptyState: ({ icon, description, subtitle, actionLabel, actionProps, children, }: EmptyStateProps) => import("@emotion/react/jsx-runtime").JSX.Element; export default EmptyState;