import { ReactNode } from 'react';
import { TButton } from '../../02-molecules/Modal/Modal';
import { TabListProps } from '../../02-molecules/Tab/TabList';
interface TButtonModal extends TButton {
    iconL?: ReactNode;
    iconR?: ReactNode;
}
export type ModalMultipleProps = {
    title: string;
    tabList: Omit<TabListProps, 'modifier' | 'list'> & {
        list: Array<TabListProps['list'][number] & {
            confirmButton?: TButtonModal;
            cancelButton?: TButtonModal;
        }>;
    };
    size?: 'base' | 'lg' | 'xl';
    handleCloseIcon: TButton['callback'];
    onChangeTab?: (index: number) => void;
    subHeader?: string;
};
/**
 * ModalMultiple component for rendering a modal with multiple tabs.
 *
 * @example
 * // Example usage of ModalMultiple component
 * <ModalMultiple
 *   title="Example Modal"
 *   tabList={{
 *     list: [
 *       {
 *         title: 'Tab 1',
 *         children: <div>Content for Tab 1</div>,
 *         confirmButton: {
 *           text: 'Confirm',
 *           callback: () => console.log('Confirmed Tab 1'),
 *         },
 *         cancelButton: {
 *           text: 'Cancel',
 *           callback: () => console.log('Cancelled Tab 1'),
 *         },
 *       },
 *       {
 *         title: 'Tab 2',
 *         children: <div>Content for Tab 2</div>,
 *         confirmButton: {
 *           text: 'Confirm',
 *           callback: () => console.log('Confirmed Tab 2'),
 *         },
 *         cancelButton: {
 *           text: 'Cancel',
 *           callback: () => console.log('Cancelled Tab 2'),
 *         },
 *       },
 *     ],
 *   }}
 *   size="lg"
 *   handleCloseIcon={() => console.log('Modal closed')}
 *   onChangeTab={(index) => console.log(`Tab changed to ${index}`)}
 * />
 *
 * @param {Object} props - The properties of the ModalMultiple component.
 * @param {string} props.title - The title of the modal.
 * @param {Object} props.tabList - The tab list configuration.
 * @param {Array<Object>} props.tabList.list - The list of tabs.
 * @param {Object} [props.tabList.list.confirmButton] - The confirm button configuration for each tab.
 * @param {Object} [props.tabList.list.cancelButton] - The cancel button configuration for each tab.
 * @param {string} [props.size] - The size of the modal ('base', 'lg', 'xl').
 * @param {Function} props.handleCloseIcon - The callback function for the close icon.
 * @param {Function} [props.onChangeTab] - Optional callback function triggered when a tab is changed.
 *
 * @returns {ReactNode} The rendered ModalMultiple component.
 */
export declare function ModalMultiple({ size, title, tabList, handleCloseIcon, onChangeTab, subHeader, ...props }: ModalMultipleProps): ReactNode;
export {};
//# sourceMappingURL=ModalMultiple.d.ts.map