import { WebexPlugin } from '@webex/webex-core'; import { StrokeData, RequestData, IAnnotationChannel } from './annotation.types'; /** * @description Annotation to handle LLM and Mercury message and locus API * @class */ declare class AnnotationChannel extends WebexPlugin implements IAnnotationChannel { namespace: string; private seqNum; hasSubscribedToEvents: boolean; approvalUrl: string; locusUrl: string; deviceUrl: string; /** * Initializes annotation module */ constructor(...args: any[]); /** * Process Stroke Data * @param {object} data * @returns {void} */ private processStrokeMessage; /** bind all events from mercury * @param {Object} e * @returns {undefined} */ private eventCommandProcessor; /** bind all events from llm * @param {Object} e * @returns {undefined} */ private eventDataProcessor; /** * Listen to websocket messages * @returns {undefined} */ private listenToEvents; /** * Remove event listeners * @returns {undefined} */ deregisterEvents(): void; /** * set locusUrl * @param {string} locusUrl * @returns {void} */ locusUrlUpdate(locusUrl: string): void; /** * set approved url * @param {string} approvalUrl * @returns {void} */ approvalUrlUpdate(approvalUrl: string): void; /** * accept request * @param {object} approval * @returns {Promise} */ acceptRequest(approval: any): any; /** * presenter declined request annotation * @param {approval} approval * @returns {Promise} */ declineRequest(approval: any): any; /** * request approved annotation * @param {RequestData} requestData * @returns {Promise} */ approveAnnotation(requestData: RequestData): Promise; /** * cancel approved annotation * @param {object} requestData * @param {object} approval * @returns {Promise} */ cancelApproveAnnotation(requestData: RequestData, approval: any): any; /** * close annotation * @param {object} requestData * @returns {Promise} */ closeAnnotation(requestData: RequestData): Promise; /** * send annotation command * @param {ANNOTATION_ACTION_TYPE} actionType * @param {RequestData} requestData * @returns {Promise} */ private sendAnnotationAction; /** * decrypt data * @param {string} encryptionKeyUrl * @param {string} content encrypted content * @returns {string} decrypted content */ private decryptContent; /** * encrypt data * @param {string} encryptionKeyUrl * @param {string} content original content * @returns {string} encrypted content */ private encryptContent; /** * Sends stroke data to presenter * @param {StrokeData} strokeData * @returns {void} */ sendStrokeData: (strokeData: StrokeData) => void; /** * private encrypted the strokes data * @param {string} encryptedContent * @param {StrokeData} strokeData * @returns {void} */ private publishEncrypted; } export default AnnotationChannel;