import { type HTMLAttributes, type ReactElement, type Ref } from "react"; import { type BaseTabListScrollButtonProps } from "./TabListScrollButton.js"; import { type GetTabListScrollToOptions } from "./getTabListScrollToOptions.js"; import { type TabListClassNameOptions } from "./tabListStyles.js"; import { type TabListActivationMode, type TabListScrollButtonsBehavior } from "./types.js"; /** * @since 6.0.0 */ export interface TabListProps extends HTMLAttributes, Omit { ref?: Ref; activeIndex: number; setActiveIndex: (nextActiveIndex: number) => void; /** * Set this to `true` to show a scrollbar when the number of tabs cause * overflow. * * @see {@link scrollButtons} * @defaultValue `false` */ scrollbar?: boolean; /** * Set this to `true` to disable the active tab indicator from animating * when a new tab is selected. * * @defaultValue `false` */ disableTransition?: boolean; /** * This should be equal to the `$tabs-transition-duration` variable. * * @defaultValue `150` */ transitionDuration?: number; /** * @defaultValue `"manual"` * @see {@link TabListActivationMode} */ activationMode?: TabListActivationMode; /** * @defaultValue `false` * @see {@link TabListScrollButtonsBehavior} */ scrollButtons?: TabListScrollButtonsBehavior; /** * A convenience prop for the {@link BaseTabListScrollButtonProps.getScrollToOptions} * on {@link forwardScrollButtonProps} and {@link backwardScrollButtonProps}. */ getScrollToOptions?: GetTabListScrollToOptions; /** * Any additional props that should be passed to the scroll forward button. * * @example * ```tsx * forwardScrollButtonProps={{ * "aria-label": "Scroll right", * theme: "primary", * themeType: "contained", * className: styles.buttonContainer, * buttonProps: { * className: styles.button, * } * }} * ``` */ forwardScrollButtonProps?: BaseTabListScrollButtonProps; /** * Any additional props that should be passed to the scroll backward button. * * @example * ```tsx * forwardScrollButtonProps={{ * "aria-label": "Scroll left", * theme: "primary", * themeType: "contained", * className: styles.buttonContainer, * buttonProps: { * className: styles.button, * } * }} * ``` */ backwardScrollButtonProps?: BaseTabListScrollButtonProps; } /** * **Client Component** * * @see {@link https://react-md.dev/components/tabs | Tabs Demos} * @see {@link useTabs} for example usage. * @since 6.0.0 */ export declare function TabList(props: TabListProps): ReactElement;