import { AgoraRteMonitorObserver, AgoraRteUploadEvent } from './type'; /** * Interface for the Agora Real-Time Engagement Monitor. */ export interface AgoraRteMonitor { /** * Uploads an event to the Agora Real-Time Engagement Monitor. * @param event The event to be uploaded. */ uploadEvent(event: AgoraRteUploadEvent): Promise; /** * Uploads the log files. * @param meta Metadata to be uploaded with the log files. * @param logBasePath Optional base path for the log files. If not provided, the default log path is used. * @returns A promise that resolves when the log files have been uploaded. */ uploadLog(meta: object, logBasePath?: string): Promise; /** * Queries the device score. * @returns The device score. */ queryDeviceScore(): number; /** * Releases all resources used by the AgoraRteMonitor. */ release(): void; /** * Adds an observer to be notified of AgoraRteMonitor events. * @param observer The observer to add. */ addObserver(observer: AgoraRteMonitorObserver): void; /** * Removes an observer from the AgoraRteMonitor. * @param observer The observer to remove. */ removeObserver(observer: AgoraRteMonitorObserver): void; }