import { ReactNode } from 'react'; export type EmptyStateType = 'card' | 'plain' | 'search-result'; export type EmptyStateSize = 'mobile' | 'desktop'; export type EmptyStateAction = { label: string; onClick?: () => void; /** Com `href`, o botão sai como link (``). */ href?: string; target?: string; }; export type EmptyStateProps = { /** * Card (borda e cantos arredondados, para áreas com limite visual próprio), Plain (solto na página ou * dentro de algo que já tem borda) ou Search Result (busca ou filtro sem resultado: ícone de busca fixo * e sem botões). Figma: Style. */ type?: EmptyStateType; title: string; description?: string; /** Troca o ícone padrão (archive, 20px). Ignorado no Search Result, que usa o ícone de busca. Figma: Switch Icon. */ icon?: ReactNode; /** Esconde o ícone sem colocar nada no lugar. Figma: Show Icon=False. */ hideIcon?: boolean; /** Ilustração no lugar do ícone, nunca os dois juntos: com ela o ícone some. Figma: Show Illustration, slot Image/Illustration. */ illustration?: ReactNode; /** Botão Outlined, a ação que resolve o vazio. Sem ele não há botões (Show Actions=False). Search Result nunca tem botões. */ primaryAction?: EmptyStateAction; /** Botão Ghost, o caminho alternativo. Só aparece junto do primeiro (Show Secondary Button=False o desliga). */ secondaryAction?: EmptyStateAction; /** Força o layout Mobile (descrição 14/22) ou Desktop (16/24). Sem ela, segue o breakpoint de 1024px. Figma: Size. */ size?: EmptyStateSize; /** Tag do título. @default 'h3' */ titleAs?: 'h2' | 'h3' | 'h4'; className?: string; 'data-testid'?: string; }; export declare const EmptyState: ({ type, title, description, icon, hideIcon, illustration, primaryAction, secondaryAction, size, titleAs, className, "data-testid": dataTestId, }: EmptyStateProps) => import("react/jsx-runtime").JSX.Element;