/*!
 * 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 { ChangeEventHandler, FocusEventHandler } from "react";
import type { HtmlProps } from "./HtmlProps.js";
import { FieldComponentProps } from "./FieldComponentProps.js";
import { FocusHandle } from "./inputUtils.js";
export type PasswordFieldProps = {
    /**
     * This prop helps users to fill forms faster, especially on mobile devices.
     * The name can be confusing, as it's more like an autofill.
     * You can learn more about it [following the specification](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill).
     */
    autoCompleteType?: "current-password" | "new-password";
    /**
     * initial value for input. Use when component in uncontrolled.
     */
    defaultValue?: string;
    /**
     * If `true`, the component will receive focus automatically.
     */
    hasInitialFocus?: boolean;
    /**
     * If `true`, the show/hide icon is not shown to the user
     */
    hasShowPassword?: boolean;
    /**
     * The ref forwarded to the TextField
     */
    inputRef?: React.RefObject<FocusHandle>;
    /**
     * The label for the `input` element.
     */
    label: string;
    /**
     * Callback fired when the `input` element loses focus.
     */
    onBlur?: FocusEventHandler<HTMLInputElement | HTMLTextAreaElement>;
    /**
     * Callback fired when the value is changed.
     */
    onChange?: ChangeEventHandler<HTMLTextAreaElement | HTMLInputElement>;
    /**
     * Callback fired when the `input` element get focus.
     */
    onFocus?: FocusEventHandler<HTMLInputElement | HTMLTextAreaElement>;
    /**
     * The short hint displayed in the `input` before the user enters a value.
     */
    placeholder?: string;
    /**
     * The value of the `input` element. Use when component is controlled.
     */
    value?: string;
} & FieldComponentProps & Pick<HtmlProps, "ariaDescribedBy" | "testId" | "translate">;
declare const MemoizedPasswordField: import("react").MemoExoticComponent<import("react").ForwardRefExoticComponent<{
    /**
     * This prop helps users to fill forms faster, especially on mobile devices.
     * The name can be confusing, as it's more like an autofill.
     * You can learn more about it [following the specification](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill).
     */
    autoCompleteType?: "current-password" | "new-password";
    /**
     * initial value for input. Use when component in uncontrolled.
     */
    defaultValue?: string;
    /**
     * If `true`, the component will receive focus automatically.
     */
    hasInitialFocus?: boolean;
    /**
     * If `true`, the show/hide icon is not shown to the user
     */
    hasShowPassword?: boolean;
    /**
     * The ref forwarded to the TextField
     */
    inputRef?: React.RefObject<FocusHandle>;
    /**
     * The label for the `input` element.
     */
    label: string;
    /**
     * Callback fired when the `input` element loses focus.
     */
    onBlur?: FocusEventHandler<HTMLInputElement | HTMLTextAreaElement>;
    /**
     * Callback fired when the value is changed.
     */
    onChange?: ChangeEventHandler<HTMLTextAreaElement | HTMLInputElement>;
    /**
     * Callback fired when the `input` element get focus.
     */
    onFocus?: FocusEventHandler<HTMLInputElement | HTMLTextAreaElement>;
    /**
     * The short hint displayed in the `input` before the user enters a value.
     */
    placeholder?: string;
    /**
     * The value of the `input` element. Use when component is controlled.
     */
    value?: string;
} & FieldComponentProps & Pick<HtmlProps, "translate" | "ariaDescribedBy" | "testId"> & import("react").RefAttributes<HTMLInputElement>>>;
export { MemoizedPasswordField as PasswordField };
//# sourceMappingURL=PasswordField.d.ts.map