import { ComponentInterface, EventEmitter } from '../../stencil-public-runtime';
import { FormInput } from '../../utils/form-input';
import { Loggable, LogInstance } from '../../utils/log';
import { BalAriaForm, BalAriaFormLinking } from '../../utils/form';
export declare class Input implements ComponentInterface, FormInput<string | undefined>, Loggable, BalAriaFormLinking {
    private inputId;
    private inheritedAttributes;
    log: LogInstance;
    createLogger(log: LogInstance): void;
    nativeInput?: HTMLInputElement;
    inputValue: string | undefined;
    initialValue: string;
    el: HTMLElement;
    focused: boolean;
    ariaForm: BalAriaForm;
    name: string;
    invalid: boolean;
    textAlign: 'center' | 'left' | 'right';
    type: BalProps.BalInputInputType;
    accept?: string;
    autocapitalize: string;
    autocomplete: BalProps.BalInputAutocomplete;
    autocorrect: BalProps.BalInputAutocorrect;
    autofocus: boolean;
    debounce: number;
    protected debounceChanged(): void;
    placeholder?: string;
    max?: string;
    maxLength?: number;
    min?: string;
    minLength?: number;
    multiple?: boolean;
    pattern?: string;
    allowedKeyPress?: string;
    required: boolean;
    spellcheck: boolean;
    disabled: boolean;
    readonly: boolean;
    clickable: boolean;
    suffix?: string;
    hasIconRight: boolean;
    inputmode?: BalProps.BalInputInputMode;
    value?: string;
    mask?: BalProps.BalInputMask;
    autoInvalidOff: boolean;
    balInput: EventEmitter<BalEvents.BalInputInputDetail>;
    balBlur: EventEmitter<BalEvents.BalInputBlurDetail>;
    balKeyPress: EventEmitter<BalEvents.BalInputKeyPressDetail>;
    balFocus: EventEmitter<BalEvents.BalInputFocusDetail>;
    balChange: EventEmitter<BalEvents.BalInputChangeDetail>;
    listenOnClick(ev: UIEvent): void;
    private resetHandlerTimer?;
    resetHandler(ev: UIEvent): void;
    connectedCallback(): void;
    componentWillLoad(): void;
    componentDidLoad(): void;
    setFocus(): Promise<void>;
    setBlur(): Promise<void>;
    getInputElement(): Promise<HTMLInputElement>;
    setAriaForm(ariaForm: BalAriaForm): Promise<void>;
    private getRawValue;
    private getFormattedValue;
    private getInputValue;
    private onInput;
    private onFocus;
    private onBlur;
    private getMaskAllowedKeys;
    private onKeydown;
    private onClick;
    private handleClick;
    render(): any;
}
