/// <reference types="react" />
import type { CheckboxGroupProps, CheckboxProps, ValidationResult } from 'react-aria-components';
import './CheckSelect.scss';
export type CheckProps = {
    name: string;
    selected?: boolean;
    defaultSelected?: boolean;
    disabled?: boolean;
    readonly?: boolean;
    indeterminate?: boolean;
};
export interface CheckSelectProps extends Omit<CheckboxGroupProps, 'children'> {
    options: CheckProps[];
    children?: React.ReactNode;
    label?: string;
    description?: string;
    errorMessage?: string | ((validation: ValidationResult) => string);
    disabled?: boolean;
    readonly?: boolean;
}
export interface MyCheckboxProps extends Omit<CheckboxProps, 'children'> {
    children?: React.ReactNode;
}
/**
 * CheckSelect component that renders a group of checkboxes with optional labels, descriptions, and error messages.
 *
 * @param {Object} props - The properties passed to the component.
 * @param {Array<CheckProps>} props.options - An array of checkbox options, where each option defines the checkbox's name and various states (e.g., disabled, selected).
 * @param {string} [props.label] - An optional label displayed above the checkbox group.
 * @param {string} [props.description] - An optional description displayed below the label.
 * @param {Array<string>} [props.value] - An array of currently selected values in the checkbox group.
 * @param {function(Array<string>): void} props.onChange - Callback function called when the selected values change, receiving the new array of selected values.
 * @param {boolean} [props.disabled=false] - If true, all checkboxes in the group are disabled.
 * @param {boolean} [props.readonly=false] - If true, the checkboxes are read-only and cannot be changed by the user.
 * @param {Array<string>} [props.defaultValue] - An array of default values selected in the checkbox group if no values are provided.
 * @param {string} [props.errorMessage] - An optional error message displayed below the checkbox group if validation fails.
 *
 * @returns {JSX.Element|null} The rendered CheckSelect component, or null if no options are provided.
 *
 */
export declare const CheckSelect: (props: CheckSelectProps) => import("react/jsx-runtime").JSX.Element;
export default CheckSelect;
