import React from 'react';
import CheckboxGroup from './checkbox-group';
import { NormalSizes } from '../utils/prop-types';
interface CheckboxEventTarget {
    checked: boolean;
}
export interface CheckboxEvent {
    target: CheckboxEventTarget;
    stopPropagation: () => void;
    preventDefault: () => void;
    nativeEvent: React.ChangeEvent;
}
interface Props {
    checked?: boolean;
    disabled?: boolean;
    initialChecked?: boolean;
    onChange?: (e: CheckboxEvent) => void;
    size?: NormalSizes;
    className?: string;
    value?: string;
}
declare const defaultProps: {
    disabled: boolean;
    initialChecked: boolean;
    size: "mini" | "small" | "medium" | "large";
    className: string;
    value: string;
};
declare type NativeAttrs = Omit<React.LabelHTMLAttributes<any>, keyof Props>;
export declare type CheckboxProps = Props & typeof defaultProps & NativeAttrs;
declare type CheckboxComponent<P = {}> = React.FC<P> & {
    Group: typeof CheckboxGroup;
};
declare type ComponentProps = Partial<typeof defaultProps> & Omit<Props, keyof typeof defaultProps> & NativeAttrs;
declare const _default: CheckboxComponent<ComponentProps>;
export default _default;
