UNPKG

agora-classroom-sdk

Version:

For publishing npm package agora-classroom-sdk (Web & Electron). Get more information from https://docs.agora.io

49 lines (48 loc) 1.55 kB
import { WindowID } from '../api'; import type { IpcRendererEvent } from 'electron'; import { ChannelType } from './ipc-channels'; declare type ChannelMessage = { type: string; payload?: unknown; }; declare type ChannelMessageCallback = (event: IpcRendererEvent, message: ChannelMessage, ...args: any) => void; declare type ChannelMessageListenerOptions = { once?: boolean; }; declare type RTCRawDataCallback = (event: IpcRendererEvent, payload: unknown) => void; export declare const withTimeout: <T>(p: Promise<T>, detail: unknown, timeout?: number) => Promise<T>; /** * 打开窗口 * @param channel * @param args * @returns */ export declare const sendToMainProcess: (channel: ChannelType, ...args: unknown[]) => Promise<unknown>; /** * 发送消息到指定窗口 * @param windowID * @param args * @returns */ export declare const sendToRendererProcess: (windowID: WindowID, channel: ChannelType, message: ChannelMessage) => Promise<unknown>; /** * 监听主进程消息 * @param channel * @param callback * @param options * @returns */ export declare const listenChannelMessage: (channel: ChannelType, callback: ChannelMessageCallback, options?: ChannelMessageListenerOptions | undefined) => () => void; /** * RTC裸数据传输 * @param windowID * @param payload */ export declare const transmitRTCRawData: (windowID: WindowID, payload: unknown) => void; /** * 接收RTC裸数据 * @param callback * @returns */ export declare const receiveRTCRawData: (callback: RTCRawDataCallback) => () => void; export {};