import { default as React } from 'react'; export type TabType = { id: T; title: string; UNSAFE_error?: boolean; content?: React.ReactNode; url?: string; adminOnly?: boolean; }; export interface TabsProps { /** * The orientation of the tab list. * Vertical tabs use Up/Down arrow keys for navigation and set aria-orientation="vertical". * Defaults to 'horizontal'. */ orientation?: 'horizontal' | 'vertical'; /** * Array of tabs to render. * Each tab should have a unique id and title. * Optionally, it can have content and a URL. * @param url The URL to navigate to when the tab is changed. * @param id The unique identifier for the tab. * @param content The content to display when the tab is active. * @param UNSAFE_error If true, indicates that the tab has an error state. * @param title The title of the tab. */ tabs: TabType[]; /** * The id of the currently active tab. */ activeTabId: T; /** * Callback triggered when tab changed. * @param tabId The id of the changed tab. * @param event The mouse or keyboard event that triggered the change. */ onTabChange: (tabId: T, event: React.MouseEvent | React.KeyboardEvent) => void; /** * When true, moving focus with arrow keys immediately activates the tab without requiring Enter/Space. * Defaults to false (manual activation). */ autoActivate?: boolean; /** * If true, all tabs content is rendered, otherwise only the active tab's content is rendered. * The non-active tabs are hidden with CSS though they are still in the DOM. */ mountAllTabs?: boolean; } export declare const Tabs: ({ tabs, activeTabId, onTabChange, mountAllTabs, orientation, autoActivate, ...rest }: TabsProps) => React.JSX.Element;