export interface TabModalTab {
    /** Lucide icon component (e.g. Activity, BarChart3) */
    icon?: React.ElementType;
    name: string;
    content: React.ReactNode;
}
export interface TabModalButton {
    label: string;
    onClick: () => void;
}
export interface TabModalProps {
    /** Lucide icon component rendered in the header */
    icon?: React.ElementType;
    title?: string;
    subtitle?: string;
    /** Badge text rendered next to the title (e.g. "SANDBOX", "LIVE") */
    badgeHeader?: string;
    /** Extra Tailwind classes applied to the badge element */
    badgeHeaderClassName?: string;
    /**
     * Array of tabs. If provided (and `content` is not), renders a tab bar.
     * Each tab's `content` is shown when that tab is active.
     */
    tabs?: TabModalTab[];
    /**
     * Direct content. When provided, the tab bar is hidden and this content
     * fills the body directly.
     */
    content?: React.ReactNode;
    /** Text shown on the left side of the footer */
    footerLabel?: string;
    /** Primary action button (right side of footer) */
    successButton?: TabModalButton;
    /** Secondary close button (right side of footer). Defaults to onClose if omitted. */
    closeButton?: TabModalButton;
    /** Label for the default close button. Defaults to 'Close'. */
    closeLabel?: string;
    onClose: () => void;
    className?: string;
}
export declare function TabModal({ icon: HeaderIcon, title, subtitle, badgeHeader, badgeHeaderClassName, tabs, content, footerLabel, successButton, closeButton, closeLabel: closeLabelProp, onClose, className, }: TabModalProps): import('react').ReactPortal;
