import { ElementProps } from "../../../types/shared.mjs"; import { Component } from "../../../internal/factory/factory.mjs"; import { BaseFormElementProps } from "../../core/form-group/FormGroup.mjs"; import React, { ReactNode } from "react"; //#region src/components/form-elements/checkbox/Checkbox.d.ts type CheckboxProps = BaseFormElementProps & ElementProps<'div'> & { small?: boolean; inline?: boolean; disabled?: boolean; }; /** * This is the main wrapper for the Checkbox component. * * It should contain one or more {@link Checkbox.Item} or {@link CheckboxItem} components and optionally a {@link Checkbox.Divider} or {@link CheckboxDivider} component. */ declare const Checkbox: Component<{ props: CheckboxProps; ref: HTMLDivElement; staticComponents: { Item: typeof CheckboxItem; Divider: typeof CheckboxDivider; }; }>; type CheckboxItemProps = { hint?: ReactNode; conditional?: ReactNode; } & ({ exclusive?: never; exclusiveGroup?: never; } | { exclusive: true; exclusiveGroup: string; } | { exclusive?: never; exclusiveGroup: string; }) & ElementProps<'input', 'type'>; /** * This component is used to create a single checkbox item. * * If the `conditional` prop is provided, a conditional content will be displayed when the checkbox is checked. * * If the `exclusive` and `exclusiveGroup` props are provided, the checkbox will be exclusive to other checkboxes in the same group. */ declare const CheckboxItem: Component<{ props: CheckboxItemProps; ref: HTMLInputElement; }>; type CheckboxDividerProps = ElementProps<'div'>; /** * This component is used to add a separator between checkboxes. */ declare const CheckboxDivider: { ({ children, className, ...props }: CheckboxDividerProps): React.JSX.Element; displayName: string; }; //#endregion export { Checkbox, CheckboxDivider, CheckboxDividerProps, CheckboxItem, CheckboxItemProps, CheckboxProps };