import { UseCheckboxProps } from '@chakra-ui/react'; import React, { MouseEventHandler, ReactNode } from 'react'; /** * Defines the various types of checkboxes available. */ export declare type CheckboxType = 'default' | 'tabs'; /** * Props for the Checkbox component. * * @gen_ai * The 'type' prop accepts 'default' or 'tabs' to determine the Checkbox theme. * The Checkbox is simple in itself and should be used within a CheckboxGroup and under FormControl for proper form integration. */ export interface ICheckbox extends UseCheckboxProps { /** * Simple label for the checkbox. */ label?: string | ReactNode; /** * Allows for custom rendering of components. */ children?: ReactNode; /** * Controlled check state. */ checked?: boolean; /** * Value of the checkbox. */ value?: string | number; /** * onClick handler. */ onClick?: MouseEventHandler; /** * Checkbox theme. */ type?: CheckboxType; /** * Description. */ description?: string; } export interface ICheckboxGroupContext { currentValue: (string | number)[]; initialValue?: (string | number)[]; onChange?: (value: (string | number)[]) => void; type: CheckboxType; } export interface ICheckboxGroup { value?: (string | number)[]; initialValue?: (string | number)[]; onChange?: (value: (string | number)[]) => void; children?: React.ReactNode; type?: CheckboxType; isDisabled?: boolean; isRow?: boolean; }