import { ObserverDashboardDataStream } from './ObservedDashboardDataStream'; import { DatabaseFrameSchema, DatabaseFrameConditions } from './datastreams/DatabaseFrame'; import { DashboardDataStreamOperations, DashboardMessage, DashboardQueryOperations, FindCallsResponsePayload, GetSummaryResponsePayload, OngoingCallsResponsePayload } from './protocols/DashboardMessageProtocol'; import { WebSocketConnector, WebSocketConnectorConfig } from './WebSocketConnector'; import { EventEmitter } from 'events'; import { CallSnapshot, ClientSnapshot } from './protocols/CallSnapshotSchema'; import { ReportSchemas } from './datastreams/ReportSchemas'; export type ObserverDashboardClientConfig = { connection: WebSocketConnectorConfig; }; export type ObserverDashboardClientEventMap = { close: []; }; type CreateDataStreamOptions = DashboardDataStreamOperations['create'] & { create: (dataStreamId: string) => ObserverDashboardDataStream; }; export declare interface ObserverDashboardClient { on(event: U, listener: (...args: ObserverDashboardClientEventMap[U]) => void): this; off(event: U, listener: (...args: ObserverDashboardClientEventMap[U]) => void): this; once(event: U, listener: (...args: ObserverDashboardClientEventMap[U]) => void): this; emit(event: U, ...args: ObserverDashboardClientEventMap[U]): boolean; } export declare class ObserverDashboardClient extends EventEmitter { readonly config: ObserverDashboardClientConfig; readonly connection: WebSocketConnector; private readonly _dataStreams; private _closed; constructor(config: ObserverDashboardClientConfig); get closed(): boolean; close(): void; connect(accessToken?: string): Promise; findCalls(params: DashboardQueryOperations['findCalls']): Promise; fetchOngoingCalls(): Promise; getSummaryStats(params: DashboardQueryOperations['getSummaryStats']): Promise; getTurnStats(params: DashboardQueryOperations['getTurnStats']): Promise; /** * @deprecated Use createReportsFrame instead loading reports from bucket * @param resourceId * @param conditions * @param updateOnCreate * @returns */ createDatabaseFrame(resourceId: K, conditions: DatabaseFrameConditions, updateOnCreate?: boolean): Promise>; createReportsFrame(reportType: K, settings: ReportSchemas[K]['request']): Promise>; createCallSnapshotsFrame(callId: string): Promise>; createClientSnapshotsFrame(options: { callId: string; clientId: string; }): Promise>; protected _createDataStream(options: CreateDataStreamOptions, updateOnCreate: boolean): Promise>; protected _receive(message: DashboardMessage): void; } export {}; //# sourceMappingURL=ObserverDashboardClient.d.ts.map