import React from "react";
import { type SubIcon } from "@vibe/icon";
import { type ButtonType as ButtonTypeEnum, type ButtonValue } from "./ButtonGroupConstants";
import { type ButtonType, type ButtonSize } from "@vibe/button";
import { type VibeComponentProps } from "../../types";
import { type MoveBy } from "../../types/MoveBy";
import { type TooltipPositions } from "../Tooltip";
type ButtonGroupOption = {
    icon?: SubIcon;
    leftIcon?: SubIcon;
    ariaLabel?: string;
    subText?: string;
    value: ButtonValue;
    text: string;
    disabled?: boolean;
    tooltipContent?: string;
};
export interface ButtonGroupProps extends VibeComponentProps {
    /**
     * The list of button options.
     */
    options: Array<ButtonGroupOption>;
    /**
     * The currently selected button value.
     */
    value?: ButtonValue;
    /**
     * Callback fired when a button is selected.
     */
    onSelect?: (value: ButtonValue, name: string) => void;
    /**
     * The size of the buttons.
     */
    size?: ButtonSize;
    /**
     * The style variant of the buttons.
     */
    kind?: Extract<ButtonType, "secondary" | "tertiary">;
    /**
     * The name of the button group.
     */
    name?: string;
    /**
     * If true, disables all buttons in the group.
     */
    disabled?: boolean;
    /**
     * The label of the button group for accessibility.
     */
    groupAriaLabel?: string;
    /**
     * The position of the tooltip relative to the button.
     */
    tooltipPosition?: TooltipPositions;
    /**
     * The delay in milliseconds before the tooltip hides.
     */
    tooltipHideDelay?: number;
    /**
     * The delay in milliseconds before the tooltip shows.
     */
    tooltipShowDelay?: number;
    /**
     * CSS selector for the tooltip container.
     */
    tooltipContainerSelector?: string;
    /**
     * Adjusts the tooltip position.
     */
    tooltipMoveBy?: MoveBy;
    /**
     * The content inside the button group.
     */
    children?: React.ReactNode;
    /**
     * If true, makes the button group take the full width of its container.
     */
    fullWidth?: boolean;
    /**
     * If true, removes focus from the button after clicking.
     */
    blurOnMouseUp?: boolean;
}
declare const _default: React.ForwardRefExoticComponent<ButtonGroupProps & React.RefAttributes<HTMLElement>> & {
    sizes: {
        readonly SMALL: "small";
        readonly MEDIUM: "medium";
        readonly LARGE: "large";
        readonly XXS: "xxs";
        readonly XS: "xs";
    };
    kinds: typeof ButtonTypeEnum;
};
export default _default;
