import { type ReactNode } from 'react'; import { type DataTestId, type MaskingProps, type StylingProps } from '@dynatrace/strato-components/core'; /** * @public */ export interface TabsBaseProps extends StylingProps, DataTestId, MaskingProps { /** * Whether the whole tab group is disabled. * @defaultValue false */ disabled?: boolean; /** The element's unique identifier. See [MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/id). */ id?: string; /** The collection of tabs to display. */ children: ReactNode; /** The overflow behavior of the tab panel. */ panelOverflow?: 'hidden' | 'scroll-y'; } /** * @public */ export type TabsProps = TabsBaseProps & (TabsControlledProps | TabsUncontrolledProps); /** * @public */ export interface TabsUncontrolledProps { /** The index of the selected tab. */ selectedIndex?: never; /** The default index of the selected tab. */ defaultIndex?: number; /** Handler that is called when the selected tab changes. */ onChange?: never; } /** * @public */ export interface TabsControlledProps { /** The index of the selected tab. */ selectedIndex: number; /** Handler that is called when the selected tab changes. */ onChange: (selectedIndex: number) => void; /** The default index of the selected tab. */ defaultIndex?: never; } /** * Tabs organize related content by grouping similar information into views or * tab panels that are displayed one at a time. * @public */ export declare const Tabs: (props: TabsProps & import("react").RefAttributes) => React.ReactElement | null;