import React from "react";
import { FinalPearlTheme, ResponsiveValue, MoleculeComponentProps, StateProps } from "../../../theme/src/types";
import { IconProps } from "../../atoms/icon/icon";
import { PressableProps } from "../../atoms/pressable/pressable";
import { CheckboxAtoms } from "./checkbox.config";
export type CheckBoxProps = PressableProps & StateProps<"_checked" | "_invalid" | "_disabled"> & {
    /** Value of the checkbox if it is part of a group. */
    value?: string | number | undefined;
    /**
     * Whether the checkbox is disabled.
     *
     * @default false
     */
    isDisabled?: boolean;
    /**
     * Whether the checkbox is in a checked state.
     *
     * @default false
     */
    isChecked?: boolean;
    /**
     * Whether the checkbox is in an indeterminate state.
     *
     * @default false
     */
    isIndeterminate?: boolean;
    /**
     * Whether the checkbox is in an invalid state.
     *
     * @default false
     */
    isInvalid?: boolean;
    /**
     * The spacing between the checkbox and the label text.
     *
     * @default 2.5
     */
    spacing?: ResponsiveValue<keyof FinalPearlTheme["spacing"]>;
    /**
     * Shape of the checkbox.
     *
     * @default "square"
     */
    shape?: "square" | "circle";
    /**
     * Family of the icon when the checkbox is in checked state.
     *
     * @default "Ionicons"
     */
    checkedIconFamily?: IconProps["iconFamily"];
    /**
     * Name of the icon when the checkbox is in checked state.
     *
     * @default "checkmark-sharp"
     */
    checkedIconName?: IconProps["iconName"];
    /**
     * Family of the icon when the checkbox is in indeterminate state.
     *
     * @default "Ionicons"
     */
    indeterminateIconFamily?: IconProps["iconFamily"];
    /**
     * Name of the icon when the checkbox is in indeterminate state.
     *
     * @default "remove-outline"
     */
    indeterminateIconName?: IconProps["iconName"];
    children?: string;
};
/** The Checkbox component is used in forms when a user needs to select multiple values from several options. **/
declare const CheckBox: React.MemoExoticComponent<React.ForwardRefExoticComponent<Omit<Omit<MoleculeComponentProps<"CheckBox", CheckBoxProps, CheckboxAtoms>, "atoms"> & {
    atoms?: CheckboxAtoms | undefined;
}, "ref"> & React.RefAttributes<unknown>>>;
export default CheckBox;
//# sourceMappingURL=checkbox.d.ts.map