/*!
 * Copyright (c) 2022-present, Okta, Inc. and/or its affiliates. All rights reserved.
 * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the "License.")
 *
 * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *
 * See the License for the specific language governing permissions and limitations under the License.
 */
import { CheckboxProps as MuiCheckboxProps, FormControlLabelProps as MuiFormControlLabelProps } from "@mui/material";
import type { HtmlProps } from "../HtmlProps.js";
import { FieldComponentProps } from "../FieldComponentProps.js";
import { CheckedFieldProps } from "../FormCheckedProps.js";
import { FocusHandle } from "../inputUtils.js";
export declare const checkboxValidityValues: readonly ["valid", "invalid", "inherit"];
export type CheckboxProps = {
    /**
     * The ref forwarded to the Checkbox
     */
    inputRef?: React.RefObject<FocusHandle>;
    /**
     * Determines whether the Checkbox is in an indeterminate state
     */
    isIndeterminate?: boolean;
    /**
     * Determines whether the Checkbox is required
     */
    isRequired?: boolean;
    /**
     * The label text for the Checkbox
     */
    label?: string;
    /**
     * Callback fired when the blur event happens. Provides event value.
     */
    onBlur?: MuiFormControlLabelProps["onBlur"];
    /**
     * The checkbox validity, if different from its enclosing group. Defaults to "inherit".
     */
    validity?: (typeof checkboxValidityValues)[number];
    /**
     * The value attribute of the Checkbox
     */
    value?: string;
} & Pick<FieldComponentProps, "hint" | "id" | "isDisabled" | "isReadOnly" | "name"> & CheckedFieldProps<MuiCheckboxProps> & Pick<HtmlProps, "ariaLabel" | "ariaLabelledBy" | "testId" | "translate">;
declare const MemoizedCheckbox: import("react").MemoExoticComponent<({ ariaLabel, ariaLabelledBy, id: idOverride, inputRef, isChecked, isDefaultChecked, isDisabled, isIndeterminate, isReadOnly, isRequired, label: labelProp, hint, name: nameOverride, onChange: onChangeProp, onBlur: onBlurProp, testId, translate, validity, value, }: CheckboxProps) => import("@emotion/react/jsx-runtime").JSX.Element>;
export { MemoizedCheckbox as Checkbox };
//# sourceMappingURL=Checkbox.d.ts.map