import React from "react";
interface ButtonGroupRowParamsProps {
    text?: any;
    record?: object;
    rowIndex?: number;
    [k: string]: any;
}
export interface ButtonGroupOptionsProps {
    name?: string;
    code?: string;
    exName?: string;
    isHide?: boolean;
    disabled?: boolean;
    icon?: React.ReactNode | string | string[];
    fn?: any;
    children?: ButtonGroupOptionsProps[];
    render?: (() => React.ReactNode) | React.ReactNode;
    confirmText?: any;
    confirmConfig?: any;
    dropdownConfig?: any;
}
interface CodesProps {
    code: string;
    name: string | React.ReactNode;
    icon?: string | React.ReactNode | Boolean;
    [key: string]: any;
}
interface ButtonGroupProps {
    type?: 'button' | 'text' | 'action';
    rowParams?: ButtonGroupRowParamsProps;
    codes?: CodesProps[];
    permissionCodes?: string[];
    options?: ButtonGroupOptionsProps[] | any[];
    min?: number;
    dropdownConfig?: Object;
    moreText?: string;
    moreIcon?: React.ReactNode | string | number;
    size?: any;
    showTextIcon?: boolean;
    className?: string;
    style?: object;
    unlimited?: boolean;
    getValidButtons?: (validButtons: any[], type?: string) => void;
    [k: string]: any;
}
declare const ButtonGroup: (props: ButtonGroupProps) => any;
export default ButtonGroup;
