import type { ExtractPropTypes, InjectionKey, PropType, Ref } from 'vue'; import type { MouseEventHandler } from '../_util/EventInterface'; import type { VueNode } from '../_util/type'; export declare type CheckboxValueType = string | number | boolean; export interface CheckboxOptionType { label?: VueNode; value: CheckboxValueType; disabled?: boolean; indeterminate?: boolean; onChange?: (e: CheckboxChangeEvent) => void; } export interface CheckboxChangeEvent { target: CheckboxChangeEventTarget; stopPropagation: () => void; preventDefault: () => void; nativeEvent: MouseEvent; } export interface CheckboxChangeEventTarget extends CheckboxProps { checked: boolean; } export declare const abstractCheckboxGroupProps: () => { name: StringConstructor; prefixCls: StringConstructor; options: { type: PropType<(string | number | CheckboxOptionType)[]>; default: () => (string | number | CheckboxOptionType)[]; }; disabled: BooleanConstructor; id: StringConstructor; }; export declare const checkboxGroupProps: () => { defaultValue: { type: PropType; }; value: { type: PropType; }; onChange: { type: PropType<(checkedValue: Array) => void>; }; 'onUpdate:value': { type: PropType<(checkedValue: Array) => void>; }; name: StringConstructor; prefixCls: StringConstructor; options: { type: PropType<(string | number | CheckboxOptionType)[]>; default: () => (string | number | CheckboxOptionType)[]; }; disabled: BooleanConstructor; id: StringConstructor; }; export declare type CheckboxGroupProps = Partial>>; export declare const abstractCheckboxProps: () => { prefixCls: StringConstructor; defaultChecked: { type: BooleanConstructor; default: any; }; checked: { type: BooleanConstructor; default: any; }; disabled: { type: BooleanConstructor; default: any; }; isGroup: { type: BooleanConstructor; default: any; }; value: import("vue-types").VueTypeValidableDef; name: StringConstructor; id: StringConstructor; indeterminate: { type: BooleanConstructor; default: any; }; type: { type: StringConstructor; default: string; }; autofocus: { type: BooleanConstructor; default: any; }; onChange: PropType<(e: CheckboxChangeEvent) => void>; 'onUpdate:checked': PropType<(checked: boolean) => void>; onClick: PropType; skipGroup: { type: BooleanConstructor; default: boolean; }; }; export declare const checkboxProps: () => { indeterminate: { type: BooleanConstructor; default: boolean; }; prefixCls: StringConstructor; defaultChecked: { type: BooleanConstructor; default: any; }; checked: { type: BooleanConstructor; default: any; }; disabled: { type: BooleanConstructor; default: any; }; isGroup: { type: BooleanConstructor; default: any; }; value: import("vue-types").VueTypeValidableDef; name: StringConstructor; id: StringConstructor; type: { type: StringConstructor; default: string; }; autofocus: { type: BooleanConstructor; default: any; }; onChange: PropType<(e: CheckboxChangeEvent) => void>; 'onUpdate:checked': PropType<(checked: boolean) => void>; onClick: PropType; skipGroup: { type: BooleanConstructor; default: boolean; }; }; export declare type CheckboxProps = Partial>>; export declare type CheckboxGroupContext = { cancelValue: (id: Symbol) => void; registerValue: (id: Symbol, value: string) => void; toggleOption: (option: CheckboxOptionType) => void; name: Ref; disabled: Ref; mergedValue: Ref; }; export declare const CheckboxGroupContextKey: InjectionKey;