import { Observable, ReplaySubject, Subject } from 'rxjs';
import { ExportJob } from '../components/report-queue/base-job/job-item';
import { ReportQueueComponent } from '../components/report-queue/report-queue.component';
import { BaseService } from '../services/base.service';
import { CommonService } from '../services/common.service';
export declare class ComponentContextService {
    private _commonService;
    key: string;
    pathToRoot: string;
    parent: ComponentContextService;
    root: ComponentContextService;
    baseService: BaseService;
    data: any;
    reportQueue: ReportQueueComponent;
    _unSubscribeAll: Subject<any>;
    promises: {
        [name: string]: Promise<any>;
    };
    subjects: {
        [name: string]: Subject<any>;
    };
    replaySubjects: {
        [name: string]: ReplaySubject<any>;
    };
    sub: any;
    constructor(_commonService: CommonService);
    private addSubject;
    private addReplaySubject;
    fireEventForWait(name: string, data?: any, cancelBubble?: boolean): void;
    fireEvent(name: string, data?: any, cancelBubble?: boolean): void;
    fireReplayEvent(name: string, data?: any, cancelBubble?: boolean): void;
    completeEvent(name: any): void;
    completeReplayEvent(name: any): void;
    private completeSubject;
    private completeReplaySubject;
    private getSubject;
    private removeSubject;
    private getReplaySubject;
    private removeReplaySubject;
    replaySubscribe(name: string, callBack: any): import("rxjs").Subscription;
    replaySubscribeOnce(name: string, callBack: any): any;
    wait(name: string): Observable<any>;
    subscribe(name: string, callBack: any): import("rxjs").Subscription;
    subscribeOnce(name: string, callBack: any): any;
    unSubscribe(name: string): void;
    unSubscribleReplay(name: string): void;
    getRootData(keyPath?: string, defaultValueIfNull?: any): any;
    getData(keyPath: string, defaultValueIfNull?: any): any;
    private getDataInternal;
    setRootData(keyPath: string, value: any): any;
    setData(keyPath: string, value: any): any;
    setDataInternal(obj: any, keyPath: string, data: any): any;
    destroyContext(): void;
    addExportJob(job: ExportJob): void;
}
//# sourceMappingURL=component-context.service.d.ts.map