import React from "react";
import { ColorScheme, ComponentSizes, ComponentVariants, FinalPearlTheme, ResponsiveValue } from "../../../theme/src/types";
import { BoxProps } from "../../atoms/box/box";
interface ICheckBoxGroupContext {
    /** Size of all the checkbox children in the group. */
    size?: ResponsiveValue<ComponentSizes<"CheckBox">>;
    /** Variant of all the checkbox children in the group. */
    variant?: ResponsiveValue<ComponentVariants<"CheckBox">>;
    /** Whether the checkbox group is disabled.  */
    isDisabled?: boolean;
    /** Active color palette of all the checkbox children in the group. */
    colorScheme?: ColorScheme;
    /** Shape of all the checkbox children in the group. */
    shape?: "square" | "circle";
    /** Active values of the checkbox options in the group */
    checkboxGroupValue: Array<string | number> | undefined;
    /** Function to add a value to the active values of the group */
    addCheckBoxGroupValue(value: string | number | undefined): void;
    /** Function to remove a value from the active values of the group */
    deleteCheckBoxGroupValue(value: string | number | undefined): void;
}
/**
 * Hook to get access to the state of a Checkbox group
 */
export declare const useCheckBoxGroup: () => ICheckBoxGroupContext;
export type CheckBoxGroupProps = BoxProps & {
    /**
     * Size of all the children checkbox in the group.
     *
     * @default "m"
     */
    size?: ResponsiveValue<ComponentSizes<"CheckBox">>;
    /**
     * Variant of all the children checkbox in the group.
     *
     * @default "filled"
     */
    variant?: ResponsiveValue<ComponentVariants<"CheckBox">>;
    /**
     * Whether the checkbox group is disabled.
     *
     * @default false
     */
    isDisabled?: boolean;
    /**
     * The spacing between the elements.
     *
     * @default 2
     */
    spacing?: ResponsiveValue<keyof FinalPearlTheme["spacing"]>;
    /**
     * Shape of all the children checkbox in the group.
     *
     * @default "square"
     */
    shape?: "square" | "circle";
    /** Default active value of the checkbox group */
    defaultValue?: Array<string | number>;
    /** Active value of the checkbox group */
    value?: Array<string | number>;
    /** Method that gets invoked when the value of the checkbox group changes */
    onChange?(value: any): void;
};
/**
 * CheckBoxGroup is a component that groups together multiple CheckBox components.
 */
declare const CheckBoxGroup: React.MemoExoticComponent<React.ForwardRefExoticComponent<Omit<CheckBoxGroupProps, "ref"> & React.RefAttributes<unknown>>>;
export default CheckBoxGroup;
//# sourceMappingURL=checkbox-group.d.ts.map