/*!
 * 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 { SwitchProps as MuiSwitchProps } from "@mui/material";
import type { HtmlProps } from "./HtmlProps.js";
import { FieldComponentProps } from "./FieldComponentProps.js";
import { CheckedFieldProps } from "./FormCheckedProps.js";
type OnChangeCallbackArguments = {
    checked: boolean;
    value: string;
};
export type SwitchProps = {
    /**
     * Determines whether the Switch is read-only
     */
    isReadOnly?: boolean;
    /**
     * The label text for the Switch
     */
    label: string;
    /**
     * The change event handler for the Switch
     */
    onChange?: ({ checked, value }: OnChangeCallbackArguments) => void;
    /**
     * The value attribute of the Switch
     */
    value: string;
} & Pick<FieldComponentProps, "hint" | "HintLinkComponent" | "id" | "isFullWidth" | "isDisabled" | "name"> & Pick<CheckedFieldProps<MuiSwitchProps>, "isChecked" | "isDefaultChecked"> & Pick<HtmlProps, "testId">;
declare const MemoizedSwitch: import("react").MemoExoticComponent<({ hint, HintLinkComponent, id: idProp, isChecked, isDefaultChecked, isDisabled, isFullWidth, isReadOnly, label, name, onChange, testId, value, }: SwitchProps) => import("@emotion/react/jsx-runtime").JSX.Element>;
export { MemoizedSwitch as Switch };
//# sourceMappingURL=Switch.d.ts.map