import * as React from "react"; import { CheckboxGroup } from "./checkbox-group.js"; /** * Decorative checkbox glyph — a non-interactive ``, NOT the real {@link Checkbox} (which is a * real `` wrapped by react-aria-components). Used where the row itself is the interactive * element and a nested control would be invalid HTML (Cascader's option rows). Shares * {@link CheckboxGlyph} so "partial" can never drift apart from the real control's rendering again. */ export declare function CheckboxVisual({ checked, indeterminate, disabled, className, }: { checked: boolean; indeterminate?: boolean; disabled?: boolean; className?: string; }): React.JSX.Element; /** * The PUBLIC prop shape, unchanged from the @radix-ui/react-checkbox era: `checked` / * `defaultChecked` accept the tri-state `"indeterminate"`, `onCheckedChange` reports it back, and * `disabled` / `required` keep their HTML spelling. react-aria-components spells the same four * `isSelected` + `isIndeterminate` / `defaultSelected` / `onChange` / `isDisabled` / `isRequired`; * that translation happens INSIDE this component and none of those names reach a consumer. */ interface CheckboxRootProps extends Omit, "checked" | "defaultChecked" | "onChange"> { checked?: boolean | "indeterminate"; defaultChecked?: boolean | "indeterminate"; onCheckedChange?: (checked: boolean | "indeterminate") => void; required?: boolean; } /** Checkbox — dùng standalone hoặc `Checkbox.Group` với `options` (theo quy ước phổ biến). */ export declare const Checkbox: React.ForwardRefExoticComponent> & { Group: typeof CheckboxGroup; }; export {};