import React from 'react'; import { FlintCheckbox as FlintCheckboxElement } from '@getufy/flint-ui/checkbox/flint-checkbox'; export interface FlintCheckboxChangeDetail { checked: boolean; value: string; indeterminate: boolean; } /** * Checkbox: a form control for boolean selection. */ export interface FlintCheckboxProps extends Omit, 'defaultChecked'> { /** Current checked state (controlled). When set, the component reflects this state and does not manage its own state. */ checked?: boolean; /** Displays the checkbox in an indeterminate state. */ indeterminate?: boolean; /** Disables the checkbox and prevents interaction. */ disabled?: boolean; /** Marks the checkbox as required for form validation. */ required?: boolean; /** * Size of the checkbox control. * Allowed values: 'sm' | 'md' | 'lg' */ size?: 'sm' | 'md' | 'lg'; /** Visible label text displayed next to the checkbox. */ label?: string; /** Form field name used when submitting form data. */ name?: string; /** Value submitted with form data when checked. */ value?: string; /** Initial checked state (uncontrolled). Only used on first render; ignored after mount. */ defaultChecked?: boolean; /** Accessible label for screen readers when no visible label is provided. */ ariaLabel?: string | null; /** * Fired when the checked state changes. detail: `{ checked: boolean; value: string; indeterminate: boolean }` * DOM event: `flint-checkbox-change` */ onFlintCheckboxChange?: (event: CustomEvent) => void; } export declare const FlintCheckbox: React.ForwardRefExoticComponent>;