import { BubbleConferenceRecap, RecapViewer } from '../../models/bubbleConferenceRecap.model'; import { FileDescriptor } from '../../models/common/fileDescriptor'; import { Service } from '../../services/service'; import { User, RBEvent, Bubble, BubbleConference } from '../../models'; import { Subscription } from 'rxjs'; /** @internal */ export declare const CONFERENCE_RECAP_SVC = "ConferenceRecapService"; /** * @eventProperty * @internal * `BubbleConferenceRecapServiceEvents` specific events */ export declare enum BubbleConferenceRecapServiceEvents { /** * @eventProperty * This `RBEvent` is sent when a new conference recording is ready */ ON_RECAP_CREATED = "ON_RECAP_CREATED", /** * @eventProperty * This `RBEvent` is sent when a new conference recording is ready */ ON_RECAP_READY = "ON_RECAP_READY", /** * @eventProperty * This `RBEvent` is sent when a conference recording is shared */ ON_RECAP_SHARED = "ON_RECAP_SHARED", /** * @eventProperty * This `RBEvent` is sent when a conference recording is removed */ ON_RECAP_REMOVED = "ON_RECAP_REMOVED" } /** * Transcription and summary automatic generation is still an experimental feature. * It may be not available on your platform. */ export declare class BubbleConferenceRecapParams { transcription: boolean; summary: boolean; summaryForm?: string; persistent: boolean; inputLanguage: string; summaryPrompt?: string; } /** @internal */ export interface BubbleConferenceRecapService { /** * Subscribe to BubbleConferenceRecapService service events * @param handler - The handler function that will be called on events * @param eventNames - The events to subscribe to * @internal */ subscribe(handler: (event: RBEvent) => any, eventNames?: BubbleConferenceRecapServiceEvents | BubbleConferenceRecapServiceEvents[]): Subscription; /** * Get all conference recaps that belong to the connected user */ getRecaps(bubble?: Bubble): Promise; /** * Get recap from cache */ getRecapFromCacheById(recapId: string): BubbleConferenceRecap; /** * Get conference recaps shared with the connected user */ getSharedWithMeRecaps(bubble?: Bubble): Promise; /** @internal */ getSharedWithMeConferenceRecordingFilesOld(bubble?: Bubble): Promise; /** * Delete conference recording file * @internal * @param conferenceRecordingFileId - ID of the conference recording file (note: not file descriptor ID) */ deleteConferenceRecordingFile(conferenceRecordingFileId: string): Promise; /** * Get the list of the available custom prompts for the conference recap */ getCustomPromptsForTranscription(): Promise<{ name: string; id: string; }[]>; /** * Fetch conference recording's associated files from the server. * Returns an array of all the files associated to the recording (.mp4, .m4a, .png and .txt) * @internal * @param conferenceRecordingFile - Conference recording file */ getConferenceRecordingAssociatedFiles(conferenceRecordingFile: BubbleConferenceRecap): Promise; } /** * The module is responsible for recording web conferences. * @internal */ export declare class BubbleConferenceRecapServiceRB extends Service implements BubbleConferenceRecapService { private authService; private logger; private xmppService; private contactService; private bubbleService; private fileStorageService; private errorHelperService; private settingsService; private getConferenceRecordingFilesPromises; private getSharedWithMeConferenceRecordingFilesPromises; private getSharedWithMeConferenceRecordingFilesOldPromises; private eventsSubject; private recaps?; private sharedRecaps?; private sharedRecordingFilesOld?; private subscription; private messageHandlerRef?; static getInstance(): BubbleConferenceRecapServiceRB; static build(): BubbleConferenceRecapServiceRB; protected constructor(); start(): void; stop(): void; reconnect(): void; subscribe(handler: (event: RBEvent) => any, eventNames?: BubbleConferenceRecapServiceEvents | BubbleConferenceRecapServiceEvents[]): Subscription; private sendEvent; private attachEventListeners; startRecap(bubbleConference: BubbleConference, params?: BubbleConferenceRecapParams): Promise; getRecapFromCacheById(recapId: string): BubbleConferenceRecap; pauseRecap(bubbleConference: BubbleConference): Promise; resumeRecap(bubbleConference: BubbleConference): Promise; stopRecap(bubbleConference: BubbleConference): Promise; deleteRecap(conferenceRecap: BubbleConferenceRecap): Promise; deleteConferenceRecordingFile(conferenceRecordingFileId: string): Promise; updateRecapFromServer(recap: BubbleConferenceRecap): Promise; getRecaps(bubble?: Bubble): Promise; filterRecordingFiles(bubble: Bubble): BubbleConferenceRecap[]; getSharedWithMeConferenceRecordingFilesOld(bubble?: Bubble): Promise; getSharedWithMeRecaps(bubble?: Bubble): Promise; private correlateSharedFiles; getConferenceRecordingAssociatedFiles(conferenceRecordingFile: BubbleConferenceRecap): Promise; isMyRecord(BubbleConference: any): boolean; shareConferenceRecording(recap: BubbleConferenceRecap, destination: Bubble | User): Promise; unshareConferenceRecording(recap: BubbleConferenceRecap, viewer: RecapViewer): Promise; getCustomPromptsForTranscription(): Promise<{ name: string; id: string; }[]>; } //# sourceMappingURL=bubbleConferenceRecap.service.d.ts.map