import { ButtonHTMLAttributes, ReactNode } from 'react';
import { IconDefinition } from '@gnome-ui/icons';
export interface TabItemProps extends ButtonHTMLAttributes<HTMLButtonElement> {
    /** Tab label. */
    label: string;
    /** Optional icon from `@gnome-ui/icons`. */
    icon?: IconDefinition;
    /** Marks this tab as the currently selected one. */
    active?: boolean;
    /**
     * id of the `TabPanel` this tab controls.
     * Sets `aria-controls` automatically.
     */
    panelId?: string;
    /**
     * When provided, a close (×) button is rendered at the trailing edge.
     * Called when the user clicks the close button.
     */
    onClose?: () => void;
    /** Accessible label for the close button. Defaults to `"Close tab"`. */
    closeLabel?: string;
    children?: ReactNode;
}
/**
 * Individual tab button inside a `TabBar`.
 */
export declare function TabItem({ label, icon, active, panelId, onClose, closeLabel, className, disabled, ...props }: TabItemProps): import("react/jsx-runtime").JSX.Element;
