import { OnDestroy } from '@angular/core'; import { Observable } from 'rxjs'; import { DevicewiseApiService } from './devicewise-api.service'; import { DevicewiseMiscService } from './devicewise-misc.service'; import { DevicewiseMultisubscribeService, MultiSubscribeResponseParams } from './devicewise-multisubscribe.service'; import { DwSubscribeVariable } from './models/dwcommon'; import * as i0 from "@angular/core"; interface MultiSubscribePair { [key: string]: Observable; } export declare class DevicewiseMultisubscribeStoreService implements OnDestroy { private devicewiseMultisubscribeService; private apiService; private dwMisc; private multiSub$; private mutliSubRequest$; url: string; requestVariables: DwSubscribeVariable[]; requestVariableSubscriptions: MultiSubscribePair; private subscriptionRequestQueue$; private subscriptionRequestQueueSub; constructor(devicewiseMultisubscribeService: DevicewiseMultisubscribeService, apiService: DevicewiseApiService, dwMisc: DevicewiseMiscService); /** * Returns an observable for a multisubscribe store which contains one multisubscribe stream. * Emits on change of value. * * ## Example * Subscribe to a variable 'CPU.CPU Usage' from device 'System Monitor' and then unsubscribe a second later. * ```ts * const variables = [{ device: 'System Monitor', variable: 'CPU.CPU Usage', type: DwType.INT1, count: 1, length: -1}]; * const subscription = service.subscriptionAsObservable().subscribe((data) => console.log(data)); * * service.addRequestVariables(variables); * setTimeout(() => { subscription.unsubscribe(); }, 1000); * ``` * * @returns observable of multisubscribe store stream. * @method subscriptionAsObservable */ subscriptionAsObservable(): Observable; /** * Get all variables in the multisubscribe store. * * @return Request variables from multisubscribe store. * @method getRequestVariables */ getRequestVariables(): DwSubscribeVariable[]; /** * Add request variables to multisubscribe store. * * @param variables requestVariables Variables to add. * @method addRequestVariables */ addRequestVariables(variables: DwSubscribeVariable[]): Observable; /** * Remove request variables to multisubscribe store. * * @param requestVariables requestVariables Variables to remove. * @method removeRequestVariables */ removeRequestVariables(variables: DwSubscribeVariable[]): void; private reSubscribe; ngOnDestroy(): void; getCloneOfRequestedVariable(variables: DwSubscribeVariable[]): DwSubscribeVariable[]; cloneDwSubscribeVariable(dwSubscribeVariable: any): DwSubscribeVariable; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } export {};