import * as React from 'react'; import type { CheckboxRef } from '@rc-component/checkbox'; import type { SemanticClassNamesType, SemanticStylesType } from '../_util/hooks'; 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 CheckboxSemanticName = keyof CheckboxSemanticClassNames & keyof CheckboxSemanticStyles; export type CheckboxSemanticClassNames = { root?: string; icon?: string; label?: string; }; export type CheckboxSemanticStyles = { root?: React.CSSProperties; icon?: React.CSSProperties; label?: React.CSSProperties; }; export type CheckboxClassNamesType = SemanticClassNamesType; export type CheckboxStylesType = SemanticStylesType; export interface CheckboxProps extends AbstractCheckboxProps { indeterminate?: boolean; classNames?: CheckboxClassNamesType; styles?: CheckboxStylesType; } declare const Checkbox: React.ForwardRefExoticComponent>; export default Checkbox;