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