import { type HTMLAttributes } from "react";
import { type BaseTabListScrollButtonProps } from "./TabListScrollButton.js";
import { type TabsAlignment } from "./tabListStyles.js";
import { type GetTabListScrollToOptions } from "./utils.js";
/**
 * @since 6.0.0
 */
export interface TabListProps extends HTMLAttributes<HTMLDivElement> {
    activeIndex: number;
    setActiveIndex(nextActiveIndex: number): void;
    /**
     * @defaultValue `"left"`
     */
    align?: TabsAlignment;
    /**
     * @defaultValue `false`
     */
    padded?: boolean;
    /**
     * @defaultValue `false`
     */
    vertical?: boolean;
    /**
     * @defaultValue `false`
     */
    inline?: boolean;
    /**
     * 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"`
     */
    activationMode?: "manual" | "automatic";
    /**
     * Set this to `true` to render buttons that can scroll forwards or backwards
     * within the tab list if there is overflow **on desktop**. If you want to
     * display the scroll buttons on mobile as well, set this to `"allow-phone"` .
     *
     * @defaultValue `false`
     */
    scrollButtons?: boolean | "allow-phone";
    /**
     * 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 useTabs} for example usage.
 *
 * @since 6.0.0
 */
export declare const TabList: import("react").ForwardRefExoticComponent<TabListProps & import("react").RefAttributes<HTMLDivElement>>;
