import { BoxProps, DividerProps } from '@mui/material';
import { ReactNode } from 'react';
import { CButtonProps } from '../Button/Button';
import { FlexProps } from '../../_wrapper';

export type ButtonGroupProps = {
    items?: ((CButtonProps & {
        value: string;
        isInitialValue?: boolean;
    }) | null)[];
    value: string;
    gap?: BoxProps['gap'];
    buttonProps?: Omit<CButtonProps, 'icon' | 'tooltip' | 'label'>;
    selectedButtonProps?: CButtonProps;
    onChange: (value: string) => void;
    isSelected?: (itemValue: string, groupValue: string) => boolean;
    transformValue?: (newItemValue: string, currentGroupValue: string) => string;
    iconButtons?: boolean;
    slotProps?: {
        flexContainer?: FlexProps;
        selectedButtonSlotProps?: CButtonProps['slotProps'] & {
            button: CButtonProps;
        };
        buttonSlotProps?: CButtonProps['slotProps'] & {
            button: CButtonProps;
        };
        divider?: DividerProps;
    };
    rootInjection?: ReactNode;
    color?: CButtonProps['color'];
};
export declare const ButtonGroup: (props: ButtonGroupProps) => import("react/jsx-runtime").JSX.Element;
