import * as http from "node:http"; import { EventEmitter } from "node:events"; import { OpenAIAgent, OpenAIAgentOptions } from "../abstract/openai/openai_agent.js"; import { TranscriptStatus } from "../../voip/twilio/types.js"; import { TwilioMetadata } from "../../voip/twilio/types.js"; import { OpenAIConversationHistory } from "../abstract/openai/types.js"; import { TwilioVoIP } from "../../../interfaces/voip/twilio_voip.js"; export interface TwilioVoIPOpenAIAgentOptions extends OpenAIAgentOptions { twilioAccountSid: string; twilioAuthToken: string; system?: string; greeting?: string; } export declare abstract class TwilioVoIPOpenAIAgent extends OpenAIAgent { protected metadata?: TwilioMetadata; protected twilioAccountSid: string; protected twilioAuthToken: string; protected history: OpenAIConversationHistory; protected transcript: TranscriptStatus[]; protected system: string; protected greeting: string; protected internal: EventEmitter<{ recording: [http.IncomingMessage]; transcript: [TranscriptStatus[]]; }>; constructor(options: TwilioVoIPOpenAIAgentOptions); updateMetadata: (metadata: TwilioMetadata) => void; activate: () => void; deactivate: () => void; protected fetchRecording: (recordingURL: string) => void; protected startTranscript: () => void; protected appendTranscript: (transcriptStatus: TranscriptStatus) => void; protected startRecording: () => void; protected stopRecording: () => void; protected startDisposal: () => void; dispatchInitialMessage: () => void; }