import { ComponentRef, ElementRef, OnChanges, OnDestroy, OnInit, Renderer2, SimpleChanges } from '@angular/core';
import { BaseDirective } from './base.directive';
import { NgControl } from '@angular/forms';
import { Subscription } from 'rxjs';
import { EuiIconComponent } from './components/atoms/eui-icon';
import * as i0 from "@angular/core";
export declare class InputDirective extends BaseDirective implements OnInit, OnDestroy, OnChanges {
    protected _elementRef: ElementRef;
    protected _renderer: Renderer2;
    protected control: NgControl;
    get disabled(): any;
    set disabled(state: any);
    get readonly(): any;
    set readonly(state: any);
    get placeholder(): string | null;
    set placeholder(value: string | null);
    get id(): string;
    set id(value: string | null);
    protected _disabled: boolean;
    protected _readonly: boolean;
    protected _placeholder: string;
    protected _statusListener: Subscription;
    protected _id: string;
    protected _clearableIcon: ComponentRef<EuiIconComponent>;
    constructor(_elementRef: ElementRef, _renderer: Renderer2, control: NgControl);
    ngOnInit(): void;
    ngOnDestroy(): void;
    ngOnChanges(changes: SimpleChanges): void;
    protected getPlaceholderAttribute(): string | undefined;
    protected setPlaceholderAttribute(value: string | null): void;
    protected setIdAttribute(value?: string | null): void;
    static ɵfac: i0.ɵɵFactoryDef<InputDirective, [null, null, { optional: true; self: true; }]>;
    static ɵdir: i0.ɵɵDirectiveDefWithMeta<InputDirective, "input[euiInput]", never, { "disabled": "disabled"; "readonly": "readonly"; "placeholder": "placeholder"; "id": "id"; }, {}, never>;
}
