import * as React from 'react'; import type { CheckboxRef } from '@rc-component/checkbox'; import type { GenerateSemantic } from '../_util/hooks/useMergeSemantic/semanticType'; export interface AbstractCheckboxProps { prefixCls?: string; className?: string; rootClassName?: string; defaultChecked?: boolean; checked?: boolean; style?: React.CSSProperties; disabled?: boolean; title?: string; onChange?: (e: T) => void; onClick?: React.MouseEventHandler; onMouseEnter?: React.MouseEventHandler; onMouseLeave?: React.MouseEventHandler; onKeyPress?: React.KeyboardEventHandler; onKeyDown?: React.KeyboardEventHandler; onFocus?: React.FocusEventHandler; onBlur?: React.FocusEventHandler; value?: any; tabIndex?: number; name?: string; children?: React.ReactNode; id?: string; autoFocus?: boolean; type?: string; skipGroup?: boolean; required?: boolean; } export interface CheckboxChangeEventTarget extends CheckboxProps { checked: boolean; } export interface CheckboxChangeEvent { target: CheckboxChangeEventTarget; stopPropagation: () => void; preventDefault: () => void; nativeEvent: MouseEvent; } export type CheckboxSemanticType = { classNames?: { root?: string; icon?: string; label?: string; }; styles?: { root?: React.CSSProperties; icon?: React.CSSProperties; label?: React.CSSProperties; }; }; export type CheckboxSemanticAllType = GenerateSemantic; export interface CheckboxProps extends AbstractCheckboxProps { indeterminate?: boolean; classNames?: CheckboxSemanticAllType['classNamesAndFn']; styles?: CheckboxSemanticAllType['stylesAndFn']; } declare const Checkbox: React.ForwardRefExoticComponent>; export default Checkbox;