export interface RTCMModule { getEstablishedCalls: () => Promise; mute: (call: GenericCall, status: boolean) => Promise; record: (call: GenericCall, recordOptions: RecordOptions) => Promise; announce: (call: GenericCall, announcement: string) => Promise; transfer: ( call: GenericCall, transferOptions: TransferOptions ) => Promise; sendDTMF: (call: GenericCall, sequence: string) => Promise; hold: (call: GenericCall, status: boolean) => Promise; hangUp: (call: GenericCall) => Promise; } export interface TransferOptions { attended: boolean; phoneNumber: string; } export interface RecordOptions { announcement: boolean; value: boolean; } export interface Participant { participantId: string; phoneNumber: string; muted: boolean; hold: boolean; owner: boolean; } export interface GenericCall { callId: string; } export interface RTCMCall extends GenericCall { muted: boolean; recording: boolean; hold: boolean; participants: Participant[]; } export interface RTCMCallsResponse { data: RTCMCall[]; }