import { default as React, ReactNode } from 'react';
import { BaseProps } from '../../../libraries/common-types/src/common-types';
export declare const checkedState: readonly ["indeterminate", true, false];
export type CheckedState = (typeof checkedState)[number];
export type CheckboxProps = Omit<BaseProps<"button">, "onChange" | "children"> & {
    /**
     * To use with custom label (not recommended).
     * */
    ["aria-labelledby"]?: string;
    /**
     * To use when no label is given (not recommended).
     * */
    ["aria-label"]?: string;
    checked?: CheckedState;
    /**
     * The checked state of the checkbox when it is initially rendered. Use when you do not need to control its checked state.
     */
    defaultChecked?: boolean;
    /**
     * When `true`, prevents the user from interacting with the checkbox.
     */
    disabled?: boolean;
    /**
     * Use to render error state on the actual checkbox only. No error text below the checkbox will appear and the label will not
     * be shown as an error, unless errorText is set.
     * */
    error?: boolean;
    /**
     * Use to render error message below the checkbox. The checkbox renders with error appearance.
     * */
    errorText?: string;
    /**
     * ID of the checkbox.
     * */
    id: string;
    /**
     * The label of the checkbox. Label can't be a block element
     * */
    label?: ReactNode;
    /**
     * The name of the checkbox. Submitted with its owning form as part of a name/value pair.
     * */
    name?: string;
    /**
     * The helper text displayed below the checkbox.
     */
    helperText?: string;
    /**
     * Event handler called when the checked state of the checkbox changes.
     * */
    onChange?: (value: CheckedState) => void;
    /**
     * When `true`, indicates that the user must check the checkbox before the owning form can be submitted.
     * */
    required?: boolean;
    /**
     * The value given as data when submitted with a name.
     * */
    value?: string;
};
export declare const Checkbox: React.ForwardRefExoticComponent<Omit<CheckboxProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
//# sourceMappingURL=checkbox.d.ts.map