import { AfterViewInit, ChangeDetectorRef, ElementRef, OnDestroy } from '@angular/core';
import { FormControlName, NgModel } from '@angular/forms';
import { IgxInputGroupComponent } from '../../input-group/input-group.component';
export declare enum IgxInputState {
    INITIAL = 0,
    VALID = 1,
    INVALID = 2,
}
export declare class IgxInputDirective implements AfterViewInit, OnDestroy {
    inputGroup: IgxInputGroupComponent;
    protected ngModel: NgModel;
    protected formControl: FormControlName;
    protected element: ElementRef;
    protected cdr: ChangeDetectorRef;
    private _valid;
    private _statusChanges$;
    constructor(inputGroup: IgxInputGroupComponent, ngModel: NgModel, formControl: FormControlName, element: ElementRef, cdr: ChangeDetectorRef);
    private readonly ngControl;
    value: any;
    disabled: boolean;
    isInput: boolean;
    isTextArea: boolean;
    onFocus(event: any): void;
    onBlur(event: any): void;
    onInput(): void;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    focus(): void;
    readonly nativeElement: any;
    protected onStatusChanged(): void;
    readonly required: any;
    readonly hasPlaceholder: any;
    readonly placeholder: any;
    private _hasValidators();
    readonly focused: boolean;
    valid: IgxInputState;
}
