import * as React from 'react';
type FadeOn = 'type' | 'focus' | 'both';
export interface AIEmptyStateIconProps extends React.HTMLAttributes<HTMLDivElement> {
    /** Icon element to render */
    children: React.ReactNode;
    /** When to fade out: 'type' (input has text), 'focus' (input focused), 'both' */
    fadeOn?: FadeOn;
}
declare function AIEmptyStateIcon({ children, fadeOn, className, ...props }: AIEmptyStateIconProps): import("react/jsx-runtime").JSX.Element;
declare namespace AIEmptyStateIcon {
    var displayName: string;
}
export interface AIEmptyStateTitleProps extends React.HTMLAttributes<HTMLDivElement> {
    children: React.ReactNode;
    /** When to fade out: 'type' (input has text), 'focus' (input focused), 'both' */
    fadeOn?: FadeOn;
}
declare function AIEmptyStateTitle({ children, fadeOn, className, ...props }: AIEmptyStateTitleProps): import("react/jsx-runtime").JSX.Element;
declare namespace AIEmptyStateTitle {
    var displayName: string;
}
export interface AIEmptyStateDescriptionProps extends React.HTMLAttributes<HTMLParagraphElement> {
    children: React.ReactNode;
    /** When to fade out: 'type' (input has text), 'focus' (input focused), 'both' */
    fadeOn?: FadeOn;
}
declare function AIEmptyStateDescription({ children, fadeOn, className, ...props }: AIEmptyStateDescriptionProps): import("react/jsx-runtime").JSX.Element;
declare namespace AIEmptyStateDescription {
    var displayName: string;
}
export interface AIEmptyStateActionsProps extends React.HTMLAttributes<HTMLDivElement> {
    children: React.ReactNode;
    /** When to fade out: 'type' (input has text), 'focus' (input focused), 'both' */
    fadeOn?: FadeOn;
}
declare function AIEmptyStateActions({ children, fadeOn, className, ...props }: AIEmptyStateActionsProps): import("react/jsx-runtime").JSX.Element;
declare namespace AIEmptyStateActions {
    var displayName: string;
}
export interface AIEmptyStateSuggestionGridProps extends React.HTMLAttributes<HTMLDivElement> {
    children: React.ReactNode;
    /** When to fade out: 'type' (input has text), 'focus' (input focused), 'both' */
    fadeOn?: FadeOn;
    /** Number of columns in the grid */
    columns?: 1 | 2 | 3 | 4;
}
declare function AIEmptyStateSuggestionGrid({ children, fadeOn, columns, className, ...props }: AIEmptyStateSuggestionGridProps): import("react/jsx-runtime").JSX.Element;
declare namespace AIEmptyStateSuggestionGrid {
    var displayName: string;
}
export interface AIEmptyStateRootProps extends React.HTMLAttributes<HTMLDivElement> {
    /** Children — compound sub-components */
    children?: React.ReactNode;
}
declare function AIEmptyStateRoot({ children, className, ...props }: AIEmptyStateRootProps): import("react/jsx-runtime").JSX.Element;
declare namespace AIEmptyStateRoot {
    var displayName: string;
}
export interface AIEmptyStateProps extends AIEmptyStateRootProps {
    /** Main heading text (monolithic mode — renders simple static layout) */
    title?: string;
    /** Optional description (monolithic mode) */
    description?: string;
    /** Optional icon element (monolithic mode) */
    icon?: React.ReactNode;
}
declare function AIEmptyStateDefault({ title, description, icon, children, className, ...props }: AIEmptyStateProps): import("react/jsx-runtime").JSX.Element;
declare namespace AIEmptyStateDefault {
    var displayName: string;
}
/**
 * AIEmptyState - Empty state for AI chat interfaces.
 *
 * Supports two usage patterns:
 *
 * 1. **Monolithic API (simple usage)**:
 * ```tsx
 * <AIEmptyState
 *   icon={<Stars01 className="size-12" />}
 *   title="How can I help you?"
 *   description="Powered by HumainOne"
 * >
 *   <Button>Get started</Button>
 * </AIEmptyState>
 * ```
 *
 * 2. **Compound API (full control)**:
 * ```tsx
 * <AIEmptyState.Root>
 *   <AIEmptyState.Icon fadeOn="type">
 *     <Stars01 className="size-12" />
 *   </AIEmptyState.Icon>
 *   <AIEmptyState.Title fadeOn="type">
 *     <h1>How can I help you?</h1>
 *   </AIEmptyState.Title>
 *   <AIEmptyState.Description fadeOn="type">
 *     Powered by HumainOne
 *   </AIEmptyState.Description>
 *   <AIEmptyState.Actions fadeOn="type">
 *     <AIPromptSuggestion>What can I do?</AIPromptSuggestion>
 *   </AIEmptyState.Actions>
 * </AIEmptyState.Root>
 * ```
 */
declare const AIEmptyState: typeof AIEmptyStateDefault & {
    Root: typeof AIEmptyStateRoot;
    Icon: typeof AIEmptyStateIcon;
    Title: typeof AIEmptyStateTitle;
    Description: typeof AIEmptyStateDescription;
    Actions: typeof AIEmptyStateActions;
    SuggestionGrid: typeof AIEmptyStateSuggestionGrid;
};
export { AIEmptyState, AIEmptyStateActions, AIEmptyStateDescription, AIEmptyStateIcon, AIEmptyStateRoot, AIEmptyStateSuggestionGrid, AIEmptyStateTitle, };
