import { ReactElement, ReactNode, RefObject } from 'react'; import { CHILD_HEADING_IDS_ATTRIBUTE, CHILD_TAB_IDS_ATTRIBUTE } from '../../constants'; import { IconLibrary, IconType } from '../../utils/icon-utils'; type TabsItemProps = { id?: string; title: string; icon?: string; iconType?: IconType; iconLibrary?: IconLibrary; children?: ReactNode; [CHILD_TAB_IDS_ATTRIBUTE]?: string; [CHILD_HEADING_IDS_ATTRIBUTE]?: string; }; /** * Mint app integration: * - Wrap with useTabState hook for URL hash sync, tab sync across components, and localStorage persistence * - useTabState provides: activeIndex, setActiveIndex (handles hash/sync/persist updates) * - Connect onTabChange to setActiveIndex for full integration * - Pass panelsRef and use it to implement findInPanels callback for useTabState * - The component renders role="tabpanel" and aria-controls attributes that useTabState's * findAndActivateTabContainingElement() uses for DOM-based navigation */ type TabsProps = { children: ReactElement | ReactElement[]; defaultTabIndex?: number; onTabChange?: (tabIndex: number) => void; className?: string; borderBottom?: boolean; ariaLabel?: string; panelsRef?: RefObject; }; export declare const Tabs: (({ children, defaultTabIndex, onTabChange, className, borderBottom, ariaLabel, panelsRef, }: TabsProps) => import("react/jsx-runtime").JSX.Element) & { Item: ({ children }: TabsItemProps) => import("react/jsx-runtime").JSX.Element; }; export type { TabsProps, TabsItemProps }; //# sourceMappingURL=tabs.d.ts.map