/// <reference types="node" />
import React, { Component } from "react";
import { InputImplement } from '../../types/input.implement';
import { PasswordInputProps, PasswordInputValueType } from './password.types';
interface IState {
    value: PasswordInputValueType;
    value_when_focus: PasswordInputValueType;
    error: boolean;
    showPassword: boolean;
}
export declare class PasswordInput extends Component<PasswordInputProps, IState> implements InputImplement<PasswordInputValueType> {
    state: IState;
    validationTimeout: NodeJS.Timeout | undefined;
    inputRef: HTMLInputElement | null | undefined;
    shouldComponentUpdate(nextProps: PasswordInputProps, nextState: IState): boolean;
    setValue(value: PasswordInputValueType, withoutEffect?: boolean): Promise<PasswordInputValueType>;
    getValue(): PasswordInputValueType;
    clear(): Promise<PasswordInputValueType>;
    validation(): boolean;
    onChange: (event: React.ChangeEvent<HTMLInputElement>) => void;
    private onClick;
    private onBlur;
    private onFocus;
    private handleClickShowPassword;
    click: () => void;
    focus: () => void;
    blur: () => void;
    render(): React.JSX.Element;
}
export {};
