import { ElementRef, EventEmitter, OnInit } from '@angular/core';
import { ControlValueAccessor, FormBuilder } from '@angular/forms';
import { NGXLogger } from 'ngx-logger';
import { Feature } from '../../core/enums/feature';
import { Size } from '../../core/enums/size';
import { State } from '../../core/enums/state';
import { TextAlign, TextTransform } from '../../core/enums/text';
import { UI } from '../../core/enums/ui';
import { Width } from '../../core/enums/width';
import { InputAutocomplete, InputScheme, InputType } from './enums';
export declare class InputComponent implements OnInit, ControlValueAccessor {
    private logger;
    private fb;
    readonly host = "jnt-input-host";
    ui: typeof UI;
    view: {
        password: {
            display: boolean;
        };
    };
    private _mask;
    private _type;
    private _placeholder;
    inputControl: import("@angular/forms").FormControl;
    formattedControl: import("@angular/forms").FormControl;
    form: import("@angular/forms").FormGroup;
    valueInput: ElementRef;
    maskedInput: ElementRef;
    focused: boolean;
    disabled: boolean;
    _scheme: InputScheme;
    _size: Size;
    _width: Width;
    get withIcon(): boolean;
    icon: string;
    label: string;
    name: string;
    transform: TextTransform;
    autocomplete: InputAutocomplete;
    textAlign: TextAlign;
    min: number;
    max: number;
    step: number;
    readonly: boolean;
    set scheme(scheme: InputScheme);
    set placeholder(placeholder: string);
    get placeholder(): string;
    set type(type: InputType);
    get type(): InputType;
    set size(size: Size);
    set width(width: Width);
    state: State;
    rows: number;
    set mask(mask: string);
    get mask(): string;
    features: Feature[];
    click: EventEmitter<any>;
    tabindex: number;
    onChange: (value: any) => void;
    onTouched: () => void;
    registerOnChange: (fn: any) => any;
    registerOnTouched: (fn: any) => any;
    onBlur: () => void;
    constructor(logger: NGXLogger, fb: FormBuilder);
    ngOnInit(): void;
    private masking;
    pasteMask(event: ClipboardEvent): void;
    keydownMask(event: KeyboardEvent): void;
    keydown(event: KeyboardEvent): void;
    keyup(): void;
    writeValue(value: any): void;
    setDisabledState(disabled: boolean): void;
    setNumber(step: number): void;
    clear(event: MouseEvent): void;
    focus(): void;
}
