import { type HTMLAttributes, ReactNode } from 'react';
import { TabItemProps } from './TabItem';
export type TabsVariants = 'primary' | 'second';
export type TabListProps = {
    list: Array<TabItemProps & {
        title: string;
    }>;
    callback?: (index: number) => void;
    listProps?: Pick<HTMLAttributes<HTMLDivElement>, 'className'>;
    contentProps?: HTMLAttributes<HTMLDivElement>;
    firstActiveTab?: number;
    modifier?: TabsVariants;
    container?: boolean;
} & HTMLAttributes<HTMLDivElement>;
/**
 * TabList component for rendering a list of tabs with optional container and custom styles.
 *
 * @component
 * @example
 * // Example usage of TabList component
 * <TabList
 *   list={[
 *     { title: 'Tab 1', children: <div>Content 1</div> },
 *     { title: 'Tab 2', children: <div>Content 2</div> }
 *   ]}
 *   callback={(index) => console.log('Active tab:', index)}
 *   listProps={{ className: 'custom-list-class' }}
 *   contentProps={{ className: 'custom-content-class' }}
 *   firstActiveTab={0}
 *   modifier="primary"
 *   container={true}
 * />
 *
 * @param {Object} props - The properties of the TabList component.
 * @param {Array<Object>} props.list - The list of tabs to be displayed.
 * @param {string} props.list.title - The title of the tab.
 * @param {ReactNode} props.list.children - The content to be displayed inside the tab.
 * @param {Function} [props.callback] - Optional callback function triggered when a tab is clicked.
 * @param {Object} [props.listProps] - Additional properties for the list container.
 * @param {string} [props.listProps.className] - Custom class name for the list container.
 * @param {Object} [props.contentProps] - Additional properties for the content container.
 * @param {string} [props.contentProps.className] - Custom class name for the content container.
 * @param {number} [props.firstActiveTab=0] - The index of the initially active tab.
 * @param {'primary' | 'second'} [props.modifier='primary'] - The style modifier for the tabs.
 * @param {boolean} [props.container=false] - Whether to wrap the tabs and content in a container.
 * @param {Object} [props.restProps] - Additional HTML attributes for the root element.
 *
 * @returns {ReactNode} The rendered TabList component.
 */
export declare function TabList({ list, callback, listProps, contentProps, modifier, firstActiveTab, container, ...restProps }: TabListProps): ReactNode;
//# sourceMappingURL=TabList.d.ts.map