import React from 'react';
import PropTypes from 'prop-types';
import CheckboxGroupFoundation, { CheckboxGroupAdapter } from '@douyinfe/semi-foundation/lib/es/checkbox/checkboxGroupFoundation';
import BaseComponent from '../_base/baseComponent';
import { CheckboxEvent } from './checkbox';
export type CheckboxDirection = 'horizontal' | 'vertical';
export type CheckboxType = 'default' | 'card' | 'pureCard';
export type CheckboxGroupProps = {
    'aria-describedby'?: React.AriaAttributes['aria-describedby'];
    'aria-errormessage'?: React.AriaAttributes['aria-errormessage'];
    'aria-invalid'?: React.AriaAttributes['aria-invalid'];
    'aria-labelledby'?: React.AriaAttributes['aria-labelledby'];
    'aria-required'?: React.AriaAttributes['aria-required'];
    defaultValue?: any[];
    disabled?: boolean;
    name?: string;
    options?: any[];
    value?: any[];
    onChange?: (value: any[]) => void;
    children?: React.ReactNode;
    prefixCls?: string;
    direction?: CheckboxDirection;
    style?: React.CSSProperties;
    className?: string;
    type?: CheckboxType;
    id?: string;
    'aria-label'?: React.AriaAttributes['aria-label'];
};
export type CheckboxGroupState = {
    value?: any[];
};
declare class CheckboxGroup extends BaseComponent<CheckboxGroupProps, CheckboxGroupState> {
    static propTypes: {
        'aria-describedby': PropTypes.Requireable<string>;
        'aria-errormessage': PropTypes.Requireable<string>;
        'aria-invalid': PropTypes.Requireable<boolean>;
        'aria-labelledby': PropTypes.Requireable<string>;
        'aria-required': PropTypes.Requireable<boolean>;
        defaultValue: PropTypes.Requireable<any[]>;
        disabled: PropTypes.Requireable<boolean>;
        name: PropTypes.Requireable<string>;
        options: PropTypes.Requireable<any[]>;
        value: PropTypes.Requireable<any[]>;
        onChange: PropTypes.Requireable<(...args: any[]) => any>;
        children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
        prefixCls: PropTypes.Requireable<string>;
        direction: PropTypes.Requireable<CheckboxDirection>;
        className: PropTypes.Requireable<string>;
        type: PropTypes.Requireable<"default" | "card" | "pureCard">;
        style: PropTypes.Requireable<object>;
    };
    static defaultProps: Partial<CheckboxGroupProps>;
    get adapter(): CheckboxGroupAdapter;
    foundation: CheckboxGroupFoundation;
    constructor(props: CheckboxGroupProps);
    componentDidMount(): void;
    componentDidUpdate(prevProps: CheckboxGroupProps): void;
    componentWillUnmount(): void;
    onChange(evt: CheckboxEvent): void;
    render(): React.JSX.Element;
}
export default CheckboxGroup;
