import { LabelHTMLAttributes, HTMLAttributes, ChangeEvent, MouseEvent, ComponentType } from 'react';
import { FocusRingProps } from '@befe/brick-utils';
type PropsFromNativeLabel = Omit, 'onChange' | 'onClick' | 'onBlur' | 'onFocus' | 'onMouseDown' | 'style'>;
type PropsFromNativeInput = Pick, 'onClick' | 'tabIndex' | 'onFocus' | 'onBlur' | 'onMouseDown'>;
export interface GenericCheckboxProps extends PropsFromNativeLabel, PropsFromNativeInput {
/**
* 自定义 class
*/
className?: string;
/**
* 选择模式,对应 input type
*/
mode?: 'checkbox' | 'radio';
/**
* 类型
*/
type?: 'normal' | 'intensive' | 'important';
/**
* 尺寸
* use config context `baseSize` as default
*/
size?: 'sm' | 'md' | 'lg';
/**
* 控制是否勾选
*/
checked?: boolean;
/**
* 默认是否勾选
*/
defaultChecked?: boolean;
/**
* 是否禁用
*/
disabled?: boolean;
/**
* 是否部分选中
*/
indeterminate?: boolean;
/**
* 数据,onChange 回调时带回
*/
data?: unknown;
/**
* checked 变化时的回调
*/
onChange?: (e: ChangeEvent, checked: boolean, data: any) => void;
/**
* 点击回调
*/
onClick?: (e: MouseEvent) => void;
/**
* @private
*/
changeFocusVisible?: FocusRingProps['changeFocusVisible'];
}
export interface GenericCheckboxState {
checked?: boolean;
}
export declare const GenericCheckbox: import("react").ForwardRefExoticComponent>>;
export {};