import { ChangeDetectorRef, DoCheck, EventEmitter, Injector, OnDestroy, Renderer2, TemplateRef, Type, ViewContainerRef } from '@angular/core';
import { BusyTrackerService } from './service/busy-tracker.service';
import { BusyConfigHolderService } from './service/busy-config-holder.service';
import { InstanceConfigHolderService } from './service/instance-config-holder.service';
import * as i0 from "@angular/core";
export declare class NgBusyDirective implements DoCheck, OnDestroy {
    private configHolder;
    private instanceConfigHolder;
    private tracker;
    private cdr;
    private vcr;
    private renderer;
    private injector;
    set options(op: any);
    get options(): any;
    get trackerService(): BusyTrackerService;
    busyStart: EventEmitter<any>;
    busyStop: EventEmitter<any>;
    private _option;
    private optionsNorm;
    private busyRef;
    private destroyIndicator;
    private configLoader;
    private busyEmitter;
    template: TemplateRef<any> | Type<any>;
    templateNgStyle: {};
    constructor(configHolder: BusyConfigHolderService, instanceConfigHolder: InstanceConfigHolderService, tracker: BusyTrackerService, cdr: ChangeDetectorRef, vcr: ViewContainerRef, renderer: Renderer2, injector: Injector);
    ngDoCheck(): void;
    ngOnDestroy(): void;
    private recreateBusyIfNecessary;
    private normalizeOptions;
    private destroyComponents;
    private createBusy;
    private generateNgContent;
    static ɵfac: i0.ɵɵFactoryDeclaration<NgBusyDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<NgBusyDirective, "[ngBusy]", ["ngBusy"], { "options": { "alias": "ngBusy"; "required": false; }; }, { "busyStart": "busyStart"; "busyStop": "busyStop"; }, never, never, false, never>;
}
