/// import { ObservedCall, ObservedCallSettings } from './ObservedCall'; import { EventEmitter } from 'events'; import { ClientEvent, ClientMetaData, ClientIssue, ExtensionStat, ClientSample } from './schema/ClientSample'; import { ObservedClient } from './ObservedClient'; import { ObservedTURN } from './ObservedTURN'; import { Detectors } from './detectors/Detectors'; import { Updater } from './updaters/Updater'; import { ObserverEventMonitor } from './ObserverEventMonitor'; export type ObserverEvents = { 'client-event': [ObservedClient, ClientEvent]; 'call-updated': [ObservedCall]; 'client-issue': [ObservedClient, ClientIssue]; 'client-metadata': [ObservedClient, ClientMetaData]; 'client-extension-stats': [ObservedClient, ExtensionStat]; 'newcall': [ObservedCall]; 'update': []; 'close': []; }; export type ObserverConfig = Record> = { updatePolicy?: 'update-on-any-call-updated' | 'update-when-all-call-updated' | 'update-on-interval'; updateIntervalInMs?: number; defaultCallUpdatePolicy?: ObservedCallSettings['updatePolicy']; defaultCallUpdateIntervalInMs?: number; appData?: AppData; closeClientIfIdleForMs?: number; closeCallIfEmptyForMs?: number; }; export declare interface Observer { on(event: U, listener: (...args: ObserverEvents[U]) => void): this; off(event: U, listener: (...args: ObserverEvents[U]) => void): this; once(event: U, listener: (...args: ObserverEvents[U]) => void): this; emit(event: U, ...args: ObserverEvents[U]): boolean; } export declare class Observer = Record> extends EventEmitter { readonly config: ObserverConfig; readonly detectors: Detectors; readonly observedTURN: ObservedTURN; readonly observedCalls: Map>>; updater?: Updater; closed: boolean; totalAddedCall: number; totalRemovedCall: number; numberOfClientsUsingTurn: number; numberOfClients: number; numberOfInboundRtpStreams: number; numberOfOutboundRtpStreams: number; numberOfDataChannels: number; numberOfPeerConnections: number; get numberOfCalls(): number; private _timer?; constructor(config?: ObserverConfig); get appData(): AppData | undefined; getObservedCall = Record>(callId: string): ObservedCall | undefined; createObservedCall = Record>(settings: ObservedCallSettings): ObservedCall; close(): void; accept(sample: ClientSample): void; update(): void; private _onObservedCallUpdated; createEventMonitor(ctx?: CTX): ObserverEventMonitor; } //# sourceMappingURL=Observer.d.ts.map