import { UUID } from "node:crypto"; import { EventEmitter } from "node:events"; import { Message } from "../message/message.js"; export interface VoIPEvents { metadata: [MetadataT]; message: [Message]; message_dispatched: [UUID]; transcript: [TranscriptT]; recording_url: [string]; streaming_started: []; streaming_stopped: []; error: [unknown]; } export interface VoIP = VoIPEvents> extends EventEmitter & EventsT> { post: (message: Message) => void; abort: (uuid: UUID) => void; hangup: () => void; transferTo: (tel: string) => void; dispose: () => void; }