import React from "react";
import { ColorScheme, ComponentSizes, ComponentVariants, FinalPearlTheme, ResponsiveValue } from "../../../theme/src/types";
import { BoxProps } from "../../atoms/box/box";
/**
 * ButtonGroupContext interface
 * This interface defines the properties for the ButtonGroupContext
 */
interface IButtonGroupContext {
    /** Size of all the buttons in the group. */
    size?: ResponsiveValue<ComponentSizes<"Button">>;
    /** Variant of all the buttons in the group. */
    variant?: ResponsiveValue<ComponentVariants<"Button">>;
    /** Whether the button group is disabled.  */
    isDisabled?: boolean;
    /** Active color palette of all the buttons in the group. */
    colorScheme?: ColorScheme;
}
/**
 * Hook to get access to the state of a Button group
 */
export declare const useButtonGroup: () => IButtonGroupContext;
/**
 * ButtonGroupProps interface
 * This interface defines the properties for the ButtonGroup component
 */
export type ButtonGroupProps = BoxProps & {
    /**
     * Size of all the buttons in the group.
     *
     * @default "m"
     */
    size?: ResponsiveValue<ComponentSizes<"Button">>;
    /**
     * Variant of all the buttons in the group.
     *
     * @default "filled"
     */
    variant?: ResponsiveValue<ComponentVariants<"Button">>;
    /**
     * Whether the button group is disabled.
     *
     * @default false
     */
    isDisabled?: boolean;
    /**
     * Whether the buttons in the group are attached to each other.
     *
     * @default false
     */
    isAttached?: boolean;
    /**
     * The spacing between the elements.
     *
     * @default 2
     */
    spacing?: ResponsiveValue<keyof FinalPearlTheme["spacing"]>;
};
/**
 * ButtonGroup is a layout component that makes it easy to stack buttons together and apply a space between them.
 */
declare const ButtonGroup: React.MemoExoticComponent<React.ForwardRefExoticComponent<Omit<ButtonGroupProps, "ref"> & React.RefAttributes<unknown>>>;
export default ButtonGroup;
//# sourceMappingURL=button-group.d.ts.map