import { ChangeEvent, ElementType, ForwardedRef, Ref } from "react"; export interface UseCheckboxProps { cssModule?: string; isInField?: boolean; id?: string; checked?: boolean | null; defaultChecked?: boolean; indeterminate?: boolean | null; defaultIndeterminate?: boolean; autoFocus?: boolean | number; required?: boolean; validationState?: "invalid" | "valid"; onChange?: (event: ChangeEvent, isChecked: boolean) => void; size?: "sm" | "md"; reverse?: boolean; name?: string; tabIndex?: number; active?: boolean; focus?: boolean; hover?: boolean; disabled?: boolean; ariaLabel?: string; ariaLabelledBy?: string; forwardedRef?: ForwardedRef; } export interface UseCheckboxReturn { isChecked: boolean; isIndeterminate?: boolean; wrapperProps: { className?: string; ref?: Ref; }; inputProps: { id?: string; as?: ElementType; type?: "checkbox"; checked?: boolean; onChange?: (event: ChangeEvent) => void; disabled?: boolean; name?: string; tabIndex?: number; "aria-label"?: string; "aria-labelledby"?: string; "aria-checked": boolean | "mixed"; "aria-required": boolean; "aria-invalid": boolean; ref: Ref; }; } export declare function useCheckbox({ cssModule: module, isInField, id, checked, defaultChecked, indeterminate, defaultIndeterminate, autoFocus, required, validationState, onChange, size, reverse, name, tabIndex, active, focus, hover, disabled, ariaLabel, ariaLabelledBy, forwardedRef }: UseCheckboxProps): UseCheckboxReturn;