import { AfterViewInit, ComponentRef, OnChanges, SimpleChanges } from '@angular/core';
import { BooleanInput } from '@angular/cdk/coercion';
import { EuiIconSvgComponent } from '@eui/components/eui-icon';
import * as i0 from "@angular/core";
export declare class EuiClearableDirective implements OnChanges, AfterViewInit {
    euiClearable: boolean;
    get readonly(): any;
    set readonly(v: BooleanInput);
    get disabled(): any;
    set disabled(v: BooleanInput);
    get cssClasses(): string;
    set cssClasses(value: string);
    private _cssClasses;
    protected _clearableIcon: ComponentRef<EuiIconSvgComponent>;
    private _euiUFlexWrapper;
    private _isReadonly;
    private _disabled;
    private _elementRef;
    private _viewContainerRef;
    private _renderer;
    private injector;
    ngAfterViewInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    private onKeyUpAndModelChange;
    private onClearableClicked;
    /**
     * creates the Clearable icon component
     *
     * @private
     */
    private createClearableIcon;
    /**
     * detach the Clearable icon from the view
     *
     * @private
     */
    private removeClearableIcon;
    /**
     * create a flex wrapper for the input to hold the icon
     *
     * @private
     */
    private createFlexWrapper;
    /**
     * checks if the parent has a flexWrapper. This is used to avoid creating multiple flexWrappers
     *
     * @private
     */
    private doesParentHasAFlexWrapper;
    /**
     * removes the flexWrapper while keeping the input element intact
     *
     * @private
     */
    private removeFlexWrapper;
    static ɵfac: i0.ɵɵFactoryDeclaration<EuiClearableDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<EuiClearableDirective, "input[euiClearable]", never, { "euiClearable": { "alias": "euiClearable"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, {}, never, never, true, never>;
    static ngAcceptInputType_euiClearable: unknown;
}
//# sourceMappingURL=eui-clearable.directive.d.ts.map