import { TypographyProps, TextFieldProps } from '@mui/material';
import * as React from "react";
export type CheckboxOption = string | {
    label: string;
    sublabel?: string;
    textField?: TextFieldProps;
};
export type CheckboxGroupProps = {
    /**
     * Name and ID of the component. It should match a key in initialValues.
     * @required
     */
    name: string;
    /**
     * Label for the checkbox group.
     * @recommended
     * @default props.name
     */
    label?: string;
    /**
     * Array of labels for the checkboxes in the group
     * @recommended
     */
    checkboxes?: CheckboxOption[];
    /**
     * Disables all checkboxes.
     * @default false
     */
    disabled?: boolean;
    /**
     * If true, the label above the checkboxes is disabled.
     */
    disableLabel?: boolean;
    /**
     * If true, the label of the the checkbox group will not be displayed in an error state if there are errors present.
     */
    disableRedLabelOnError?: boolean;
    /**
     * If true, causes the label to enter a focused state.
     */
    focused?: boolean;
    /**
     * Location of the label with respect to the checkboxes
     * @default 'end'
     */
    labelPlacement?: "top" | "start" | "bottom" | "end";
    /**
     * Vertical alignment of the label with respect to the checkboxes. This is mainly for longer labels, or checkboxes with sublabels.
     * Only applied when `labelPlacement` is 'start' or 'end'.
     *
     * Center: Verticaly aligns the checkbox with the center of the label (& sublabel)
     *
     * Top: Vertically aligns the checkbox with the first line of the label
     *
     * Defaults to 'top' when labelPlacement is 'start' | 'end. Otherwise, defaults to 'center'.
     * @default 'top'
     */
    labelAlignment?: "center" | "top";
    /**
     * If true, an asterisk will be displayed next to the label
     * Most browsers will automatically validate this, but it's recommended to also
     * have Formik also validate as well so that `Error` displays for consistency.
     * @default false
     */
    required?: boolean;
    /**
     * If `true`, the component becomes readonly.
     * @default false
     */
    readOnly?: boolean;
    /**
     * If set, the user can select up to `max` options
     */
    max?: number;
    /**
     * If set, the user must select, at minimum, `min` options
     */
    min?: number;
    /**
     * If set, this subtitle is displayed under the label to notify the user of how many options they can select max.
     * @default `Up to ${max} max`
     */
    maxSubtitle?: string;
    /**
     * If set, this subtitle is displayed under the label to notify the user of how many options they can select minimum.
     * @requires min
     * @default `Please select ${min} or more`
     */
    minSubtitle?: string;
    /**
     * If set, this subtitle is displayed under the label to notify the user of how many options they can select within a range.
     * @requires min
     * @requires max
     * @default `Please select between ${min} and ${max} options`
     */
    minMaxSubtitle?: string;
    /**
     * Margin for the FormControl
     */
    margin?: "dense" | "none" | "normal";
    /**
     * Props from MUI-Bueno's Typography component.
     * Used to customize the label when the static label option is selected or the field is readOnly.
     */
    staticLabelProps?: TypographyProps;
};
/**
 * CheckboxGroup produces a group of checkboxes that's defined as an array of strings or Checkboxes.
 *
 * This component is ideal for limited options. For more than 4 options, use a MultiAutocomplete instead.
 */
export declare const CheckboxGroup: React.FC<CheckboxGroupProps>;
