export type Body = Record; export interface CallMetadata extends Body { Called: string; ToState: string; CallerCountry: string; Direction: string; CallerState: string; ToZip: string; CallSid: string; To: string; CallerZip: string; ToCountry: string; CallToken: string; CalledZip: string; ApiVersion: string; CalledCity: string; CallStatus: string; From: string; AccountSid: string; CalledCountry: string; CallerCity: string; ToCity: string; FromCountry: string; Caller: string; FromCity: string; CalledState: string; FromZip: string; FromState: string; } export declare const isCallMetadata: (message: Body) => message is CallMetadata; export interface RecordingStatus extends Body { RecordingSource: string; RecordingTrack: string; RecordingSid: string; RecordingUrl: string; RecordingStatus: string; RecordingChannels: string; ErrorCode: string; CallSid: string; RecordingStartTime: string; AccountSid: string; RecordingDuration: string; } export declare const isRecordingStatus: (message: Body) => message is RecordingStatus; export interface TranscriptStatus extends Body { LanguageCode: string; TranscriptionSid: string; TranscriptionEvent: string; CallSid: string; TranscriptionData: string; Timestamp: string; Final: string; AccountSid: string; Track: string; SequenceId: string; } export declare const isTranscriptStatus: (message: Body) => message is TranscriptStatus; export interface WebSocketMessage { event: "start" | "media" | "stop" | "mark"; } export interface StartWebSocketMessage extends WebSocketMessage { event: "start"; start: { accountSid: string; streamSid: string; callSid: string; tracks: string[]; mediaFormat: { channels: number; encoding: string; sampleRate: number; }; customParameters: unknown; }; streamSid: string; } export declare const isStartWebSocketMessage: (message: WebSocketMessage) => message is StartWebSocketMessage; export interface MediaWebSocketMessage extends WebSocketMessage { event: "media"; media: { track: string; chunk: string; timestamp: string; payload: string; }; streamSid: string; } export declare const isMediaWebSocketMessage: (message: WebSocketMessage) => message is MediaWebSocketMessage; export interface StopWebSocketMessage extends WebSocketMessage { event: "stop"; } export declare const isStopWebSocketMessage: (message: WebSocketMessage) => message is StopWebSocketMessage; export interface MarkWebSocketMessage extends WebSocketMessage { event: "mark"; sequenceNumber: string; streamSid: string; mark: { name: string; }; } export declare const isMarkWebSocketMessage: (message: WebSocketMessage) => message is MarkWebSocketMessage; export type TwilioMetadata = Partial & Partial;