import React, { PureComponent } from 'react';
import { BoxProps } from '../box/Box';
import { BUTTON_LEVELS } from '../button/Button';
import { SIZES } from '../../constants';
interface ButtonGroupProps extends Omit<BoxProps, 'size' | 'onChange' | 'ref'> {
    /** The content to display inside the button group. */
    children?: React.ReactNode;
    /** A class name for the wrapper to give custom styles. */
    className?: string;
    /** If true, child components will be displayed segmented. */
    segmented?: boolean;
    /** The level of the buttons */
    size?: Exclude<typeof SIZES[number], 'fullscreen' | 'smallest' | 'hero'>;
    /** The level of the buttons */
    level?: keyof typeof BUTTON_LEVELS;
    /** The value of the currently active button. */
    value?: string;
    /** Callback function that is fired when the active button changes. */
    onChange?: (value: string, event: Event) => void;
}
declare class ButtonGroup extends PureComponent<ButtonGroupProps> {
    handleChange: (value: string, event: Event) => void;
    render(): JSX.Element;
}
export default ButtonGroup;
