import { ChangeEventHandler, DetailedHTMLProps, FC, InputHTMLAttributes, Ref } from 'react'; export interface CheckboxProps extends Omit, HTMLInputElement>, 'size'> { /** * Optional custom CSS class for the checkbox input element. * Useful for styling overrides and scoped component design. */ className?: string; /** * Optional class name for the outer wrapper of the checkbox. * Commonly used to style the label or layout container. */ wrapperClassName?: string; /** * Sets the checkbox to an indeterminate visual state. * Often used when only some nested items are selected. * This state is visual only and must be controlled manually. */ indeterminate?: boolean; /** * Controlled checked state of the checkbox. * Used in controlled components for full state management. */ checked?: boolean; /** * Initial checked state for uncontrolled usage. * Mirrors the native `defaultChecked` HTML behavior. */ defaultChecked?: boolean; /** * Visual variant of the checkbox, for theme or context switching. */ variant?: 'primary' | 'secondary'; /** * Size of the checkbox input and its visual marker. */ size?: 'small' | 'medium' | 'large'; /** * Callback function fired when the checkbox state changes. * Receives the native `ChangeEvent`. */ onChange?: ChangeEventHandler; /** * Disables the checkbox, making it non-interactive. * Also applies a visually disabled style. */ disabled?: boolean; /** * Ref to the native `` element. * Useful for managing focus, setting indeterminate manually, etc. */ ref?: Ref; } /** A Checkbox is a UI component that allows users to select one or multiple options from a set, toggling between checked and unchecked states. */ export declare const Checkbox: FC;