import { MouseEvent, ComponentPropsWithoutRef } from 'react';
import { DataTrackingId } from '../../types';
/**
 * Props for the TabButton component
 * @extends Omit<ComponentPropsWithoutRef<"button">, "onClick" | "disabled">
 */
export type TabButtonProps = Omit<ComponentPropsWithoutRef<"button">, "onClick" | "disabled"> & {
    /**
     * Unique identifier for the tab button.
     */
    id: string;
    /**
     * ID of the tab panel that this button controls.
     */
    controls: string;
    /**
     * Callback function called when the tab button is clicked.
     * @param e The mouse event
     * @param index The index of the tab button
     */
    onClick?: (e: MouseEvent<HTMLButtonElement>, index?: number) => void;
} & DataTrackingId;
/**
 * TabButton component for individual tab navigation buttons.
 *
 * Features:
 * - Automatic ARIA attributes for accessibility
 * - Visual indicator for active state
 * - Keyboard navigation support
 * - Smooth animations with reduced motion support
 * - Proper focus management
 * - RTL language support
 *
 * @example
 * <Tab.Button id="tab1" controls="panel1" onClick={(e, index) => console.log('Tab clicked:', index)}>
 *   First Tab
 * </Tab.Button>
 */
export declare const TabButton: import('react').ForwardRefExoticComponent<Omit<Omit<import('react').DetailedHTMLProps<import('react').ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref">, "disabled" | "onClick"> & {
    /**
     * Unique identifier for the tab button.
     */
    id: string;
    /**
     * ID of the tab panel that this button controls.
     */
    controls: string;
    /**
     * Callback function called when the tab button is clicked.
     * @param e The mouse event
     * @param index The index of the tab button
     */
    onClick?: (e: MouseEvent<HTMLButtonElement>, index?: number) => void;
} & DataTrackingId & import('react').RefAttributes<HTMLButtonElement>>;
