import { ClientRequest } from '../../proto/ai/inworld/engine/world-engine.pb'; import { InworldPacket as ProtoPacket } from '../../proto/ai/inworld/packets/packets.pb'; import { AudioSessionState, Awaitable, CancelResponsesProps, Extension, GenerateSessionTokenFn, InternalClientConfiguration, TtsPlaybackAction, User } from '../common/data_structures'; import { HistoryItem } from '../components/history'; import { GrpcAudioPlayback } from '../components/sound/grpc_audio.playback'; import { GrpcWebRtcLoopbackBiDiSession } from '../components/sound/grpc_web_rtc_loopback_bidi.session'; import { Character } from '../entities/character.entity'; import { SessionContinuation } from '../entities/continuation/session_continuation.entity'; import { InworldPacket } from '../entities/inworld_packet.entity'; import { SessionToken } from '../entities/session_token.entity'; import { EventFactory } from '../factories/event'; interface ConnectionProps { name?: string; user?: User; client?: ClientRequest; config?: InternalClientConfiguration; sessionContinuation?: SessionContinuation; onReady?: () => Awaitable; onError?: (err: Event | Error) => Awaitable; onMessage?: (packet: InworldPacketT) => Awaitable; onDisconnect?: () => Awaitable; onInterruption?: (props: CancelResponsesProps) => Awaitable; onHistoryChange?: (history: HistoryItem[]) => Awaitable; grpcAudioPlayer: GrpcAudioPlayback; webRtcLoopbackBiDiSession: GrpcWebRtcLoopbackBiDiSession; generateSessionToken: GenerateSessionTokenFn; extension?: Extension; } export declare class ConnectionService { private player; private state; private audioSessionAction; private ttsPlaybackAction; private scene; private session; private connection; private connectionProps; private characters; private intervals; private disconnectTimeoutId; private eventFactory; private stateService; private engineService; private onDisconnect; private onError; private onMessage; private onReady; private cancelResponses; private history; private extension; constructor(props?: ConnectionProps); isActive(): boolean; isAutoReconnected(): boolean; getSessionState(): Promise; openManually(): Promise; close(): void; getHistory(): HistoryItem[]; clearHistory(): void; getEventFactory(): EventFactory; getTranscript(): string; getCharactersList(): Promise; open(): Promise; send(getPacket: () => ProtoPacket): Promise; setAudioSessionAction(action: AudioSessionState): void; getAudioSessionAction(): AudioSessionState; setTtsPlaybackAction(action: TtsPlaybackAction): void; getTtsPlaybackAction(): TtsPlaybackAction; interrupt(): Promise; private loadCharactersList; private write; private loadScene; ensureSessionToken(props?: { beforeLoading: () => void; }): Promise; private scheduleDisconnect; private setPreviousState; private cancelScheduler; private initializeHandlers; private initializeConnection; private initializeExtension; private interruptByInteraction; private sendCancelResponses; private addPacketToHistory; private displayPlacketInHistory; private clearQueue; private getPacketsToSentOnOpen; } export {};