import { DataCell, DataTree } from '../../types/data-structures';
import { Sizing } from '../../types/global';
import { ToolbarLeafClickHandler, ToolbarLoadNodeHandler, ToolbarInitialDataLoadHandler } from '../toolbar/toolbar-types';
export interface TabBarProps {
    /**
     * Tab-bar data is a dataTree
     */
    data: DataTree;
    /**
     * Cell sizing.
     * @optional
     */
    sizing?: Sizing;
    /**
     * Cell sizing.
     * @optional
     */
    variant?: "base" | "contained";
    /**
     * Allows to pre-select a specific tab
     * @optional
     */
    selectedIndex?: number;
    /**
     * External ref that will be attached to the selected tab button
     * @optional
     */
    ref?: React.Ref<HTMLButtonElement>;
    /**
     * Callback invoked on selected tab change
     * @param index
     * @param cell
     */
    onTabChange?: (index: number, cell: DataCell) => void;
    /**
     * Handlers for toolbar interaction
     * - Leaf node click
     * - Dynamic node children loading
     * - Load the initial data with a callback
     *   without the need of the data-prop
     */
    onToolbarLeafNodeClick?: ToolbarLeafClickHandler;
    onToolbarLoadNodeData?: ToolbarLoadNodeHandler;
    onToolbarLoadInitialData?: ToolbarInitialDataLoadHandler;
    /**
     * Handler for AI icon click callback
     */
    onTabAiIconClick?: (agentCode: string) => void;
    /**
     * Callback passed down to the single tab typography title selected
     * used to register the right click callback
     */
    onTypographyRightClick?: () => void;
}
//# sourceMappingURL=tab-bar-types.d.ts.map