import { chartColors } from '../HeaderMetric/HeaderMetricGroup';
export interface CheckboxProps<StateNameType extends number | string> {
    /** Label for the checkbox */
    label: string;
    /** Determines whether the checkbox is checked; for
     * partial checks, set `checked` to `false` and `partialChecked`
     * to `true` */
    checked?: boolean;
    /** Determines whether the checkbox is partially checked
     * (used for parent checkboxes that have children checkboxes
     * and some of the children are checked and some are not);
     * a `true` value must always be set from consuming component;
     * only available for checkbox components (not radio components) */
    partialChecked?: boolean;
    /** Optional function on checkbox click */
    callout?: (stateName: StateNameType | undefined, 
    /** check is the updated value of the checkbox */
    check: boolean, 
    /** partial, if present, is always a `false` boolean;
     * default behavior should be to transition from partial
     * to all checked (functionality is up to the consuming component) */
    partial?: boolean) => void;
    /** Unique name for the checkbox */
    name?: string;
    /** Name of the state for the checkbox. This would be defined in the component consuming this one. */
    stateName?: StateNameType;
    /** Used to show an error state */
    error?: boolean;
    /** Used to show a disabled state */
    disabled?: boolean;
    /** Optional className that can be provided for styling */
    customClass?: string;
    /** Optional className for the label */
    labelClass?: string;
    /** Type of checkbox style (default: checkbox) */
    type?: 'checkbox' | 'radio';
    /** Size of the radio checkbox */
    radioSize?: string;
    /** Option to hide the label */
    hideLabel?: boolean;
    /** Potential colors that can be used for the checkbox */
    checkboxColor?: chartColors;
}
declare const Checkbox: <StateNameType extends number | string>({ name, checked, partialChecked, label, callout, customClass, stateName, type, disabled, error, radioSize, labelClass, hideLabel, checkboxColor, }: CheckboxProps<StateNameType>) => JSX.Element;
export default Checkbox;
