import { type HTMLAttributes } 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<HTMLDivElement>, Omit<TabListClassNameOptions, "animate" | "indicator"> {
    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 const TabList: import("react").ForwardRefExoticComponent<TabListProps & import("react").RefAttributes<HTMLDivElement>>;
