import * as React from 'react';
import type { CheckboxChangeEvent } from './checkbox';
import type { RowProps, ColProps } from '../grid';
export declare type CheckboxValueType = string | number | boolean;
export interface CheckboxOptionType {
    /** 选项label */
    label: React.ReactNode;
    /** 选项value */
    value: CheckboxValueType;
    /** 选项自定义样式 */
    style?: React.CSSProperties;
    /** 选项是否禁用 */
    disabled?: boolean;
    /** 选项回调 */
    onChange?: (e: CheckboxChangeEvent) => void;
}
export interface AbstractCheckboxGroupProps {
    /** 自定义样式前缀 */
    prefixCls?: string;
    /** 自定义class */
    className?: string;
    /** 指定可选项 */
    options?: (CheckboxOptionType | string)[];
    /** 是否整组失效 */
    disabled?: boolean;
    /** 自定义样式 */
    style?: React.CSSProperties;
}
export interface CheckboxGroupProps extends AbstractCheckboxGroupProps {
    /** Group名称 */
    name?: string;
    /** 默认选中的选项 */
    defaultValue?: CheckboxValueType[];
    /** 指定选中的选项 */
    value?: CheckboxValueType[];
    /** 变化时回调函数 */
    onChange?: (checkedValue: CheckboxValueType[]) => void;
    /** 控制内部checkbox是纵向还是横向排列 */
    direction?: 'vertical' | 'horizontal';
    rowProps?: RowProps;
    colProps?: ColProps;
    children?: React.ReactNode;
}
export interface CheckboxGroupContext {
    name?: string;
    toggleOption?: (option: CheckboxOptionType) => void;
    value?: any;
    disabled?: boolean;
    registerValue: (val: string) => void;
    cancelValue: (val: string) => void;
}
export declare const GroupContext: React.Context<CheckboxGroupContext | null>;
export declare const CheckboxGroup: React.FC<CheckboxGroupProps>;
declare const _default: React.NamedExoticComponent<CheckboxGroupProps>;
export default _default;
