import { default as React, ReactNode, HTMLAttributes } from 'react';
type EventUpdateHandler = (value: string) => void;
export interface CheckboxGroupContextProps {
selectedOptions?: string[];
handleCheckboxChange?: EventUpdateHandler;
name?: string;
updateSelectedValue?: EventUpdateHandler;
disabled?: boolean;
}
export declare const CheckboxGroupContext: React.Context;
/**
* The `CheckboxGroup` component provides a context-managed grouping of checkbox elements.
* It manages the collective state for checkboxes, allowing for individual or batch validation
* and selection. It supports states such as disabled, valid, and invalid, and offers customization
* for error and success messages. It also furnishes a grouped label and help text for a unified UI.
* @see https://cloudoperators.github.io/juno/?path=/docs/forms-checkbox-checkboxgroup--docs
* @see {@link CheckboxGroupProps}
*/
export declare const CheckboxGroup: ({ children, className, disabled, errortext, helptext, id, invalid, label, name, onChange, required, selected, successtext, valid, ...props }: CheckboxGroupProps) => ReactNode;
export interface CheckboxGroupProps extends Omit, "onChange"> {
/** The Checkbox children of the CheckboxGroup. */
children?: ReactNode;
/**
* Custom class names for styling the CheckboxGroup.
* @default ""
*/
className?: string;
/**
* Disables all checkboxes in the group.
* @default false
*/
disabled?: boolean;
/** Text displayed if validation fails or there is an error. Indicates group invalidity when set. */
errortext?: ReactNode;
/** Additional text explaining the significance of this group. */
helptext?: ReactNode;
/** The group's ID. Automatically generated if not provided. */
id?: string;
/**
* Indicates if the CheckboxGroup is marked as invalid.
* @default false
*/
invalid?: boolean;
/** The label text for the CheckboxGroup. */
label?: string;
/**
* Name for all checkboxes in the group. Generated if not supplied.
* @default A unique identifier
*/
name?: string;
/** Event handler triggered when any checkbox selection changes. */
onChange?: EventUpdateHandler;
/**
* Specifies if a selection is required in this group.
* @default false
*/
required?: boolean;
/** Array of values representing the initially selected checkboxes in the group. */
selected?: string[];
/** Text displayed upon successful validation, which marks the group as valid. */
successtext?: ReactNode;
/**
* Specifies if the CheckboxGroup has been successfully validated.
* @default false
*/
valid?: boolean;
}
export {};
//# sourceMappingURL=CheckboxGroup.component.d.ts.map