import { ElementRef, OnDestroy, InjectionToken } from '@angular/core'; import { NgControl } from '@angular/forms'; import { FormControlInput, FormControlErrorStateAgent, FormControlHost } from '../form-control-group/index'; import { FormControlMaterialInput } from '../material-design-inputs/index'; export interface InputHost { readonly isDisabled: boolean; notifyInputFocus(btn: InputDirective): void; notifyInputBlur(btn: InputDirective): void; } export declare const INPUT_HOST_TOKEN: InjectionToken; export declare let UNIQUE_ID: number; export declare class InputDirective implements OnDestroy, FormControlInput, FormControlMaterialInput { elementRef: ElementRef; ngControl?: NgControl; private formControlHost?; private _errorStateAgent?; private inputHost?; constructor(elementRef: ElementRef, ngControl?: NgControl, formControlHost?: FormControlHost, _errorStateAgent?: FormControlErrorStateAgent, inputHost?: InputHost); private uniqueId; private _disabled; private _focused; private stateChangedEmitter; stateChanged: import("rxjs").Observable; controlType: string; materialModifierClass: string; id?: string; errorStateAgent?: FormControlErrorStateAgent; readonly elementId: string; readonly isFocused: boolean; readonly isLabelFloating: boolean; disabled: boolean; autoselect: boolean; classVclInput: boolean; readonly isDisabled: boolean; readonly hasError: boolean; readonly attrDisabled: boolean; focus(): void; onFocus(): void; onBlur(): void; onLabelClick(event: Event): void; value: string; ngOnDestroy(): void; getError(error: string): any; onInput(): void; }