import { AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, Injector } from '@angular/core';
import { ValueAccessorBase } from '../../core/form';
import { DatePipe } from '@angular/common';
import * as i0 from "@angular/core";
export declare class InputComponent extends ValueAccessorBase<any> implements AfterViewInit {
    protected injector: Injector;
    readonly cd: ChangeDetectorRef;
    readonly cdParent: ChangeDetectorRef;
    private datePipe;
    type: string;
    step: number;
    placeholder: string;
    icon: string;
    min?: number;
    max?: number;
    maxLength?: number;
    minLength?: number;
    iconSize: number;
    /**
     * Focuses this element once created (AfterViewInit).
     */
    focus: boolean | '';
    /**
     * Uses a more decent focus border.
     */
    lightFocus: boolean | '';
    /**
     * Disables input controls (like for type=number the arrow buttons)
     */
    noControls: boolean | '';
    /**
     * Appears a little bit transparent. Perfect for blurry background.
     */
    semiTransparent: boolean | '';
    esc: EventEmitter<KeyboardEvent>;
    enter: EventEmitter<KeyboardEvent>;
    keyDown: EventEmitter<KeyboardEvent>;
    keyUp: EventEmitter<KeyboardEvent>;
    input?: ElementRef<HTMLInputElement | HTMLTextAreaElement>;
    textured: boolean | '';
    readonly: boolean | '';
    focusChange: EventEmitter<boolean>;
    get isTextured(): boolean;
    get isFocused(): boolean;
    get isFilled(): boolean;
    round: boolean | '';
    get isRound(): boolean;
    clearer: boolean | '';
    get hasClearer(): boolean;
    get hasIcon(): boolean;
    constructor(injector: Injector, cd: ChangeDetectorRef, cdParent: ChangeDetectorRef, datePipe: DatePipe);
    onBlur(): void;
    onFocus(): void;
    clear(): Promise<void>;
    /**
     * From <input>
     */
    setInnerValue(value: any): void;
    get innerValue(): any;
    set innerValue(value: any | undefined);
    writeValue(value?: any): void;
    onKeyDown(event: KeyboardEvent): void;
    onKeyUp(event: KeyboardEvent): void;
    focusInput(): void;
    ngAfterViewInit(): void;
    handleFileInput(event: any): Promise<void>;
    static ɵfac: i0.ɵɵFactoryDeclaration<InputComponent, [null, null, { skipSelf: true; }, null]>;
    static ɵcmp: i0.ɵɵComponentDeclaration<InputComponent, "dui-input", never, { "type": { "alias": "type"; "required": false; }; "step": { "alias": "step"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "min": { "alias": "min"; "required": false; }; "max": { "alias": "max"; "required": false; }; "maxLength": { "alias": "maxLength"; "required": false; }; "minLength": { "alias": "minLength"; "required": false; }; "iconSize": { "alias": "iconSize"; "required": false; }; "focus": { "alias": "focus"; "required": false; }; "lightFocus": { "alias": "lightFocus"; "required": false; }; "noControls": { "alias": "noControls"; "required": false; }; "semiTransparent": { "alias": "semiTransparent"; "required": false; }; "textured": { "alias": "textured"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "round": { "alias": "round"; "required": false; }; "clearer": { "alias": "clearer"; "required": false; }; }, { "esc": "esc"; "enter": "enter"; "keyDown": "keyDown"; "keyUp": "keyUp"; "focusChange": "focusChange"; }, never, never, false, never>;
}
