import React from 'react'; import type { ReactNode } from 'react'; import type { EitherInclusive } from '../../util/utility-types'; type CheckboxHTMLElementProps = Omit, 'checked' | 'id' | 'size'>; type CheckboxInputProps = CheckboxHTMLElementProps & { /** * Whether checkbox is checked. */ checked?: boolean; /** * Additional classnames passed in for styling. */ className?: string; /** * Checkbox ID. Used to connect the input with a label for accessibility purposes. */ id: string; /** * Whether the checkbox is "indeterminate". Neither checked nor unchecked. The most common use * case for this is when a checkbox has sub-checkboxes, to represent a "partially checked" state. */ indeterminate?: boolean; /** * Whether the radio button is in an error state */ isError?: boolean; /** * Additional descriptive text below the primary label, adding additional detail */ subLabel?: ReactNode; }; type CheckboxProps = Omit & { /** * HTML id attribute. If not passed, this component * will generate an id to use for accessibility. */ id?: string; } & EitherInclusive<{ /** * Visible text label for the component. */ label: ReactNode; }, { /** * Aria-label to provide an accesible name for the text input if no visible label is provided. */ 'aria-label': string; }>; /** * `import {Checkbox} from "@chanzuckerberg/eds";` * * Checkbox control indicating if something is selected or unselected. Uncontrolled by default, * it can be used in place of boolean-like form data. * * **NOTE**: Requires either a visible `label` or `aria-label` prop. */ export declare const Checkbox: React.ForwardRefExoticComponent> & { Input: React.ForwardRefExoticComponent>; Label: { ({ className, disabled, htmlFor, id, labelAfter, required, text, ...other }: import("../Label/Label").LabelProps): React.JSX.Element; displayName: string; }; }; export {};