import { FC, HTMLAttributes, Ref } from 'react'; import { CheckboxSize, CheckboxVariant } from './types'; export interface CheckboxProps extends HTMLAttributes { /** * 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?: CheckboxVariant; /** * Size of the checkbox input and its visual marker. */ size?: CheckboxSize; /** * Callback function fired when the checkbox state changes. */ onChangeChecked?(value: boolean): void; /** * Disables the checkbox, making it non-interactive. * Also applies a visually disabled style. */ disabled?: boolean; /** * Ref to the native label 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;