import { Logger } from '../../imports'; import { AgoraRteRenderView } from '../../type'; import { AgoraRtcConnection, AgoraRtcMediaSourceIndex, AgoraRtcRenderMode, AgoraRtcRenderResultType, AgoraRtcRenderSourceType } from './type'; export declare abstract class AgoraRtcCanvasHelper { protected logger: Logger; canvasMap: Map; abstract bind(canvasAddress: AgoraRteRenderView, renderSourceId: string, type: AgoraRtcRenderSourceType): AgoraRtcRenderResultType; abstract unbind(canvasAddress: AgoraRteRenderView): number; abstract unbindAll(renderSourceId: string, type: AgoraRtcRenderSourceType): number; abstract release(): void; } export declare class AgoraRtcCanvasTag { __json_serializable__: boolean; canvas: AgoraRtcVideoCanvas; sourceId: string; connection?: AgoraRtcConnection; isLocal: boolean; localCameraSourceIndex?: AgoraRtcMediaSourceIndex; constructor(canvas: AgoraRtcVideoCanvas, sourceId: string, isLocal: boolean, connection?: AgoraRtcConnection, localCameraSourceIndex?: AgoraRtcMediaSourceIndex); normalize(): { canvas: { view: unknown; mirror: boolean; renderMode: AgoraRtcRenderMode; }; sourceId: string; connection: string | undefined; isLocal: boolean; localCameraSourceIndex: AgoraRtcMediaSourceIndex | undefined; }; } export declare class AgoraRtcVideoCanvas { readonly view: unknown; __json_serializable__: boolean; readonly key: string; mirror: boolean; renderMode: AgoraRtcRenderMode; constructor(view: unknown, opts?: { mirror?: boolean; renderMode?: AgoraRtcRenderMode; }); toString(): string; normalize(): { view: unknown; mirror: boolean; renderMode: AgoraRtcRenderMode; }; } export declare abstract class AgoraRtcCanvasTagPool { protected logger: Logger; abstract getTagWithCanvasId(canvasAddress: AgoraRteRenderView): AgoraRtcCanvasTag | undefined; abstract addTagWithCanvasId(canvasAddress: AgoraRteRenderView, sourceId: string, canvas: AgoraRtcVideoCanvas, isLocal: boolean, connection?: AgoraRtcConnection, localCameraSourceIndex?: AgoraRtcMediaSourceIndex): void; abstract ifNeedStopRenderCanvas(canvasAddress: AgoraRteRenderView): void; abstract ifNeedStopLocalRenderCanvas(canvasAddress: AgoraRteRenderView): void; abstract stopRenderOnAllCanvasWithSourceId(sourceId: string): void; /** * 获取画布标签池 * @returns 画布标签池的 Map */ abstract get getCanvasTagPool(): Map; abstract release(): void; }