import { EventEmitter } from "../../stencil-public-runtime";
export type InputOTPType = 'numeric' | 'alpha' | 'alphanumeric' | 'hex';
export declare class XInputOtp {
    /**
     * Element ID for internal reference
     */
    private readonly inputId;
    /**
     * Blur timeout
     */
    private blurTimeout;
    /**
     * Element input name for forms keys
     */
    name?: string;
    /**
     * Element input required for forms validations
     */
    required: boolean;
    /**
     * Element show paste disclosure
     */
    paste: boolean;
    /**
     * Element grouped style
     */
    grouped: boolean;
    /**
     * Element input maximun count of characters
     */
    length?: number;
    /**
     * Element input value
     */
    value?: string;
    /**
     * Element input type
     */
    type: InputOTPType;
    /**
     * Form input validation state
     */
    isValid: boolean;
    /**
     * Input diabled state
     */
    isDisabled: boolean;
    /**
     * input focus state
     */
    isFocused: boolean;
    /**
     * On validate input event
     */
    onValidateInputEvent: EventEmitter<ElementInternals>;
    /**
     * Element reference
     */
    el: HTMLElement;
    /**
     * Element internal
     */
    internals: ElementInternals;
    /**
     * Watch changes in value property
     */
    watchValue(value: string): void;
    /**
     * This is called when the 'disabled' attribute of the element or or an ancestor <fieldset> is updated
     *
     * @param disabled
     */
    formDisabledCallback(disabled: boolean): void;
    /**
     * This is called when the parent/owner form is reset
     */
    formResetCallback(): void;
    /**
     * This is called when the input is validated
     */
    formValidateCallback(dispatchValidation?: boolean): void;
    /**
     * This is called on component did load
     */
    componentDidLoad(): void;
    /**
     * Distribute the value to correct input by index
     */
    getValueIndex(i: number): string;
    /**
     * Clean the input value to input
     */
    filterValue(value: string): string;
    /**
     * Set element value by event
     *
     * @param event
     */
    onInput(event: InputEvent, index: number): void;
    /**
     * Paste the clipboard content to the input
     */
    onPasteClipboard(event: ClipboardEvent | MouseEvent): void;
    /**
     * This called on input field was changed
     *
     * @param event
     */
    onKeyUpInput(event: KeyboardEvent, index: number): void;
    /**
     * This called on input field is unfocused
     */
    onBlurInput(): void;
    /**
     * This called on input field is focused
     */
    onFocusInput(): void;
    /**
     * Render element
     */
    render(): any;
}
