import { 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 EuiLoadingDirective implements OnChanges {
    euiLoading: boolean;
    get readonly(): any;
    set readonly(v: BooleanInput);
    get cssClasses(): string;
    set cssClasses(value: string);
    protected _loadingIcon: ComponentRef<EuiIconSvgComponent>;
    private _euiUFlexWrapper;
    private _cssClasses;
    private _isReadonly;
    private _elementRef;
    private _viewContainerRef;
    private _renderer;
    private injector;
    ngOnChanges(changes: SimpleChanges): void;
    /**
     * 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;
    /**
     * creates the loading icon component
     *
     * @private
     */
    private createLoadingIcon;
    /**
     * removes the loading icon component
     *
     * @private
     */
    private removeLoadingIcon;
    static ɵfac: i0.ɵɵFactoryDeclaration<EuiLoadingDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<EuiLoadingDirective, "[euiLoading]", never, { "euiLoading": { "alias": "euiLoading"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; }, {}, never, never, true, never>;
    static ngAcceptInputType_euiLoading: unknown;
}
//# sourceMappingURL=eui-loading.directive.d.ts.map