import React from 'react';
export type TabVariant = 'underline' | 'enclosed' | 'soft-rounded' | 'solid-rounded' | 'unstyled';
export type TabSize = 'sm' | 'md' | 'lg';
export type TabOrientation = 'horizontal' | 'vertical';
export interface TabsProps extends React.HTMLAttributes<HTMLDivElement> {
    /**
     * The currently selected tab index
     */
    defaultIndex?: number;
    /**
     * Callback fired when the tab is changed
     */
    onChange?: (index: number) => void;
    /**
     * The style variant of the tabs
     * @default 'underline'
     */
    variant?: TabVariant;
    /**
     * The size of the tabs
     * @default 'md'
     */
    size?: TabSize;
    /**
     * The orientation of the tabs
     * @default 'horizontal'
     */
    orientation?: TabOrientation;
    /**
     * Whether to animate the tab transitions
     * @default true
     */
    animated?: boolean;
    /**
     * If true, the tabs won't change on focus, only on click
     * @default false
     */
    isManual?: boolean;
    /**
     * Whether the tabs take up the full width
     * @default false
     */
    isFitted?: boolean;
    /**
     * Children of the tabs component
     */
    children: React.ReactNode;
}
export interface TabListProps extends React.HTMLAttributes<HTMLDivElement> {
    /**
     * Children of the tab list (typically Tab components)
     */
    children: React.ReactNode;
    /**
     * Additional class name for the tab list
     */
    className?: string;
}
export interface TabProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'onChange'> {
    /**
     * Whether the tab is disabled
     * @default false
     */
    isDisabled?: boolean;
    /**
     * Additional class name for the tab
     */
    className?: string;
    /**
     * Children of the tab
     */
    children: React.ReactNode;
}
export interface TabPanelsProps extends React.HTMLAttributes<HTMLDivElement> {
    /**
     * Children of the tab panels (typically TabPanel components)
     */
    children: React.ReactNode;
    /**
     * Additional class name for the tab panels container
     */
    className?: string;
}
export interface TabPanelProps extends React.HTMLAttributes<HTMLDivElement> {
    /**
     * Children of the tab panel
     */
    children: React.ReactNode;
    /**
     * Additional class name for the tab panel
     */
    className?: string;
}
/**
 * Tabs component with animated transitions
 *
 * A flexible tabs component that supports various styles and orientations
 * with smooth animations and keyboard navigation.
 *
 * @example
 * // Basic usage
 * <TailwindTabs>
 *   <TabList>
 *     <Tab>Tab 1</Tab>
 *     <Tab>Tab 2</Tab>
 *     <Tab>Tab 3</Tab>
 *   </TabList>
 *   <TabPanels>
 *     <TabPanel>Content 1</TabPanel>
 *     <TabPanel>Content 2</TabPanel>
 *     <TabPanel>Content 3</TabPanel>
 *   </TabPanels>
 * </TailwindTabs>
 *
 * @example
 * // With different variant
 * <TailwindTabs variant="solid-rounded">
 *   <TabList>
 *     <Tab>Tab 1</Tab>
 *     <Tab>Tab 2</Tab>
 *   </TabList>
 *   <TabPanels>
 *     <TabPanel>Content 1</TabPanel>
 *     <TabPanel>Content 2</TabPanel>
 *   </TabPanels>
 * </TailwindTabs>
 */
export declare const TailwindTabs: React.ForwardRefExoticComponent<TabsProps & React.RefAttributes<HTMLDivElement>>;
export declare const TabList: React.ForwardRefExoticComponent<TabListProps & React.RefAttributes<HTMLDivElement>>;
export declare const Tab: React.ForwardRefExoticComponent<TabProps & {
    index?: number;
} & React.RefAttributes<HTMLButtonElement>>;
export declare const TabPanels: React.ForwardRefExoticComponent<TabPanelsProps & React.RefAttributes<HTMLDivElement>>;
export declare const TabPanel: React.ForwardRefExoticComponent<TabPanelProps & {
    index?: number;
} & React.RefAttributes<HTMLDivElement>>;
export default TailwindTabs;
//# sourceMappingURL=TailwindTabs.d.ts.map