import { Provider } from '@loopback/core'; import { TwilioS3TargetOptions, TwilioWebhookPayload } from '.'; import { TwilioMeetingResponse, TwilioSessonOptions } from '..'; import { ArchiveResponse, MeetingOptions, SessionResponse, VideoChatFeatures } from '../..'; import { TwilioService } from './twilio.service'; import { TwilioVideoChat } from './types'; export declare class TwilioProvider implements Provider { private readonly twilioService; constructor(twilioService: TwilioService); /** * The function returns an object with methods for interacting with Twilio services such as getting * tokens, meeting links, archives, setting upload targets, getting features, and checking webhook * payloads. * @returns The `value()` function returns an object with several methods related to interacting with * Twilio services. These methods include `getToken`, `getMeetingLink`, `getArchives`, * `deleteArchive`, `setUploadTarget`, `getFeatures`, and `checkWebhookPayload`. Each method performs * a specific action such as retrieving a token, getting a meeting link, fetching archives, deleting * an archive, setting */ value(): { getToken: (sessionId: string, options: TwilioSessonOptions) => Promise; getMeetingLink: (meetingOptions: MeetingOptions) => Promise; getArchives: (archiveId: string | null) => Promise; deleteArchive: (archiveId: string) => Promise; setUploadTarget: (storageConfig: TwilioS3TargetOptions) => Promise; getFeatures: () => VideoChatFeatures; checkWebhookPayload: (webhookPayload: TwilioWebhookPayload) => Promise; }; }