import { default as React, ReactNode } from 'react'; import { BorderColor, ElementBorder, ElementDensity, ElementElevation, ElementFocusEffect, ElementFont, ElementHoverEffect, ElementOutline, ElementPlacement, ElementPressedEffect, ElementSelectedEffect, ElementShape, ElementSize, ElementTextPlacement, ElementTouchEffect, SemanticColor, SurfaceColor } from '../../utils'; import { ElementAnimation } from '../../types'; /** * Props for the CheckboxBase component. * * Supports controlled and uncontrolled usage, visual effects, * animation configuration, and accessibility features. * * @category Base components */ export interface CheckboxBaseProps extends Omit, 'color' | 'size'> { /** Motion value (`MotionAnimation` or full motion config). */ animation?: ElementAnimation; /** Border style. */ border?: ElementBorder; /** Border color override. */ borderColor?: BorderColor; /** Custom content rendered instead of the default glyph. */ children?: ReactNode; /** Additional root class name. */ className?: string; /** Semantic color used when checked. */ color?: SemanticColor; /** Visual density of the control. */ density?: ElementDensity; /** Supporting text displayed below the label. */ description?: string; /** Text color override for the description. */ descriptionColor?: SurfaceColor; /** Font applied to the description text. */ descriptionFont?: ElementFont; /** Required root class name for styling. */ elementClass: string; /** Elevation level applied to the glyph. */ elevation?: ElementElevation; /** Error message text. Overrides description when present. */ error?: string; /** Enables filled visual style. */ filled?: boolean; /** Focus color override. */ focusColor?: BorderColor; /** Visual effects applied on focus. */ focusEffects?: ElementFocusEffect[]; /** Font applied to the label text. */ font?: ElementFont; /** Visual effects applied on hover. */ hoverEffects?: ElementHoverEffect[]; /** Icon rendered in checked state. */ icon?: ReactNode; /** DOM id. Auto-generated when not provided. */ id?: string; /** Enables indeterminate (mixed) state. */ indeterminate?: boolean; /** Icon rendered in indeterminate state. */ indeterminateIcon?: ReactNode; /** Text label displayed next to the control. */ label?: string; /** Text color override for the label. */ labelColor?: SurfaceColor; /** DOM name attribute. */ name?: string; /** Change event handler. */ onChange?: React.ChangeEventHandler; /** Visual effects applied while pressed. */ pressedEffects?: ElementPressedEffect[]; /** Marks the control as read-only without disabling focus. */ readOnly?: boolean; /** Marks the control as required. Visual indicator only. */ required?: boolean; /** Visual effects applied when selected. */ selectedEffects?: ElementSelectedEffect[]; /** Shape variant of the control. */ shape?: ElementShape; /** Size of the control. */ size?: ElementSize; /** Text color override for label and content. */ textColor?: SurfaceColor; /** Placement of text relative to the control. */ textPlacement?: ElementTextPlacement; /** Tooltip alignment relative to the control. */ tooltipAlign?: ElementPlacement; /** Touch and click visual effects. */ touchEffects?: ElementTouchEffect[]; /** Input type. */ type: 'radio' | 'checkbox'; /** Border style when unchecked. */ uncheckedBorder?: ElementOutline; /** Border color when unchecked. */ uncheckedBorderColor?: BorderColor; /** Semantic color used when unchecked. */ uncheckedColor?: SemanticColor; /** Icon rendered when unchecked. */ uncheckedIcon?: ReactNode; /** Controlled value for radio buttons. */ value?: string; } /** * Low-level base component for checkbox and radio controls. * * Supports controlled and uncontrolled usage. * * * @param props Component properties. * @function * * @example * * * @example * * * @category Base components */ export declare const CheckboxBase: React.ForwardRefExoticComponent>;