import RtcAnnotation from './RtcAnnotation.native'; import type { RtcAnnotationManagerEventHandler, Subscription } from './RtcEvents'; /** * The {@link RtcAnnotationManager} class. */ export default class RtcAnnotationManager implements RtcAnnotationManagerInterface { /** * @ignore */ private _annotations; /** * @ignore */ private _listeners; /** * @ignore */ private static _callMethod; destroy(): void; /** * Adds the [`RtcAnnotationManagerEventHandler`]{@link RtcAnnotationManagerEventHandler} handler. * * After setting the [`RtcAnnotationManagerEventHandler`]{@link RtcAnnotationManagerEventHandler} handler, you can listen for `RtcAnnotationManager` events and receive the statistics of the corresponding RtcAnnotationManager instance. * @param event The event type. * @param listener The [`RtcAnnotationManagerEventHandler`]{@link RtcAnnotationManagerEventHandler} handler. */ addListener(event: EventType, listener: RtcAnnotationManagerEventHandler[EventType]): Subscription; /** * Removes the [`RtcAnnotationManagerEventHandler`]{@link RtcAnnotationManagerEventHandler} handler. * * For callback events that you only want to listen for once, call this method to remove the specific [`RtcAnnotationManagerEventHandler`]{@link RtcAnnotationManagerEventHandler} objects after you have received them. * @param event The event type. * @param listener The [`RtcAnnotationManagerEventHandler`]{@link RtcAnnotationManagerEventHandler} handler. */ removeListener(event: EventType, listener: RtcAnnotationManagerEventHandler[EventType]): void; /** * Removes all the [`RtcAnnotationManagerEventHandler`]{@link RtcAnnotationManagerEventHandler} handlers. * @param event The event type. */ removeAllListeners(event?: EventType): void; /** * @~english * @brief Get video annotation object. * @param userId User ID * @param streamId Stream ID * @return * - PanoRtcAnnotation object * @~chinese * @brief 获取视频标注对象 * @param userId 用户ID * @param streamId 视频流ID * @return * - 视频标注对象 */ getVideoAnnotation(userId: string, streamId: number): Promise; /** * @~english * @brief Get share annotation object. * @param userId User ID * @return * - PanoRtcAnnotation object * @~chinese * @brief 获取共享标注对象 * @param userId 用户ID * @return * - 共享标注对象 */ getShareAnnotation(userId: string): Promise; } /** * @ignore */ interface RtcAnnotationManagerInterface { getVideoAnnotation(userId: string, streamId: number): Promise; getShareAnnotation(userId: string): Promise; } export {};