import { ComponentPropsWithRef, ReactNode } from 'react'; import { UseMessageProps } from '../shared/types'; type HTMLInputProps = ComponentPropsWithRef<'input'>; type FilteredHTMLInputProps = Omit; export type InputCheckboxScale = 'medium' | 'large'; type BaseInputCheckboxProps = FilteredHTMLInputProps & UseMessageProps & { 'data-testid'?: string; description?: string; design?: 'default' | 'assetFeed' | 'task'; hideLabel?: boolean; label: ReactNode; scale?: InputCheckboxScale; /** @deprecated - use `data-testid` */ testId?: string; value: string; }; type IndeterminateProps = { indeterminate?: false; checked?: boolean; } | { indeterminate: true; checked: boolean; }; export type InputCheckboxProps = BaseInputCheckboxProps & IndeterminateProps; /** - InputCheckbox supports both controlled and uncontrolled patterns: - **Controlled**: Provide `checked` and `onChange` props. Use for inputs with complex interactions or when you need to programmatically control the checked state. - **Uncontrolled**: Provide `defaultChecked` prop and access the checked state via a ref. Use for simple forms or when integrating with form libraries like react-hook-form. - `id` is required to associate the checkbox with the optional `message`. - In general, use sentence case for the required `label` (e.g., "I agree to the terms"; not "I Agree to the Terms"). - **Indeterminate**: When using `indeterminate={true}`, you must also control the `checked` state. **Recommendation**: Set `checked={false}` when `indeterminate={true}` for consistent behavior (clicking an indeterminate checkbox typically checks it). - **aria-disabled**: When set, the checkbox appears visually disabled (dashed border) but remains interactive. Use this when the checkbox should signal "not yet actionable" while still allowing user interaction — for example, to surface a validation message. - **`design="assetFeed"` is deprecated.** Use `scale="large"` instead — `large` matches the assetFeed dimensions. */ export declare const InputCheckbox: import('react').ForwardRefExoticComponent<(Omit | Omit) & import('react').RefAttributes>; export default InputCheckbox;