import { type IncomingSocketChatMessage, type IncomingSocketStreamMessage, type IncomingSocketErrorMessage, type IncomingSocketEndOfStreamMessage } from "../events/Events"; import { BaseConnection } from "../internal/connection/BaseConnection"; import { type SocketChatRequestData } from "./types"; import { type AudioMetaData } from "../media/audio/types"; import { type DisconnectionDetails } from "../internal/connection/types"; import type { SynapseSDKCallbacks } from "../types"; export declare class MessageManager { private connection; private callbacks; private fileManager; private audioManager; private outgoingBuffer; constructor(callbacks?: SynapseSDKCallbacks); setConnection(connection: BaseConnection): void; /** * Handle file upload process */ private handleFileUploadProcess; /** * send chat message through socket */ sendSocketMessage({ message, files, audio, urls, tool_declined, tool_id, tool_result, initial_prompts }: SocketChatRequestData): void; /** * Handle incoming chat message */ handleIncomingSocketChatMessage(message: IncomingSocketChatMessage): void; /** * Handle incoming stream message */ handleIncomingSocketStreamMessage(message: IncomingSocketStreamMessage): void; handleDisconnect(details: DisconnectionDetails): void; /** * Handle incoming end of stream message */ handleIncomingSocketEndOfStreamMessage(_message: IncomingSocketEndOfStreamMessage): void; /** * Handle incoming error message */ handleIncomingSocketErrorMessage(message: IncomingSocketErrorMessage): void; /** * send authentication message */ sendSocketAuthMessage(sessionToken: string): void; /** * send ping message */ sendSocketPingMessage(): void; /** * send audio message */ startRecording({ onChunks, onError, }: { onChunks: (chunks: AudioMetaData) => void; onError?: (error: Error) => void; }): Promise; /** * stop recording audio */ endRecordingWithSocket(): void; /** * send pong message */ sendSocketPongMessage(): void; handleConnectionEstablished(): void; private flushOutgoingBuffer; /** * Cleanup message service */ cleanupMessageServerState(): void; private emitError; private toFileError; private toRecordingError; private assertConnection; }