import { ReactNode } from 'react'; export interface EmptyStateAction { label: string; onClick: () => void; } export interface EmptyStateSecondaryAction { label: string; href?: string; onClick?: () => void; } export interface EmptyStateProps { /** * The drawing shown above the text. * * This used to be one of ten names: chat, models, creations, benchmark, * logs, statistics, schedule and so on, each resolving to an SVG shipped * inside this package. Those names are one product's information * architecture, and no other consumer has a "creations" screen to draw for. * A consumer passes its own artwork and keeps its own vocabulary. */ illustration?: ReactNode; /** Main heading */ title: string; /** Descriptive text */ description: string; /** Primary action button */ primaryAction?: EmptyStateAction; /** Secondary action (link or button) */ secondaryAction?: EmptyStateSecondaryAction; /** * Extra content rendered under the description, inside the same text column. * * The two action props cover the common one-or-two-button case. An * onboarding state that has to offer more than that (e.g. the Data Hub's * three ingest paths, issue #3903) renders them here instead of growing a * page-local copy of this component. */ children?: ReactNode; /** Additional CSS classes */ className?: string; /** Whether to show illustration (default: true) */ showIllustration?: boolean; } /** * EmptyState Component * * Displays an empty state with illustration, text, and optional actions. * Memoized to prevent unnecessary re-renders. */ declare function EmptyStateComponent({ illustration, title, description, primaryAction, secondaryAction, children, className, showIllustration, }: EmptyStateProps): import("react").JSX.Element; export declare const EmptyState: import('react').MemoExoticComponent; export {};