import * as React from "react"; import type { StyleType } from "@khanacademy/wonder-blocks-core"; import type { Checked } from "../util/types"; /** * ☑️ A nicely styled checkbox for all your checking needs. Can optionally take * label and description props. * * If used by itself, a checkbox provides two options - checked and unchecked. * A group of checkboxes can be used to allow a user to select multiple values * from a list of options. * * If you want a whole group of Checkbox[es] that are related, see the Choice * and CheckboxGroup components. * * ### Usage * * ```jsx * import {Checkbox} from "@khanacademy/wonder-blocks-form"; * * const [checked, setChecked] = React.useState(false); * * * ``` */ declare const Checkbox: React.ForwardRefExoticComponent & Readonly<{ role?: import("@khanacademy/wonder-blocks-core").AriaRole; }> & { /** * Whether this component is checked or indeterminate */ checked: Checked; /** * Whether this component is disabled */ disabled?: boolean; /** * Whether this component should show an error state */ error?: boolean; /** * Callback when this component is selected. The newCheckedState is the * new checked state of the component. */ onChange: (newCheckedState: boolean) => unknown; /** * Optional label for the field. */ label?: React.ReactNode; /** * Optional description for the field. */ description?: React.ReactNode; /** * Unique identifier attached to the HTML input element. If used, need to * guarantee that the ID is unique within everything rendered on a page. * Used to match `