/// import { ClientRequest } from '../../../proto/ai/inworld/engine/world-engine_pb'; import { InworldPacket as ProtoPacket } from '../../../proto/ai/inworld/packets/packets_pb'; import { ApiKey, Awaitable, ChangeSceneProps, ClientConfiguration, ConversationState, GenerateSessionTokenFn, GetterSetter, User } from '../common/data_structures'; import { ConvesationInterface, Extension } from '../common/data_structures/extension'; import { Character } from '../entities/character.entity'; import { SessionContinuation } from '../entities/continuation/session_continuation.entity'; import { InworldError } from '../entities/error.entity'; import { InworldPacket } from '../entities/packets/inworld_packet.entity'; import { Session } from '../entities/session.entity'; import { SessionToken } from '../entities/session_token.entity'; import { EventFactory } from '../factories/event'; interface ConnectionProps { apiKey: ApiKey; name?: string; user?: User; client?: ClientRequest; config?: ClientConfiguration; sessionGetterSetter?: GetterSetter; sessionContinuation?: SessionContinuation; onDisconnect?: () => Awaitable; onError: (err: InworldError) => Awaitable; onMessage?: (message: InworldPacketT) => Awaitable; generateSessionToken?: GenerateSessionTokenFn; extension?: Extension; } export declare class ConnectionService { private state; private config; private scene; private sceneIsLoaded; private sessionToken; private stream; private connectionProps; private disconnectTimeoutId; private eventFactory; private intervals; private packetQueue; private packetQueuePercievedLatency; private engineService; private stateService; private logger; private extension; private MAX_LATENCY_QUEUE_SIZE; onDisconnect: () => Awaitable; onError: (err: InworldError) => Awaitable; onMessage: ((message: ProtoPacket) => Awaitable) | undefined; readonly conversations: Map; state: ConversationState; }>; constructor(props: ConnectionProps); isActive(): boolean; isAutoReconnected(): boolean; getSceneName(): string; getClientConfig(): ClientConfiguration; generateSessionToken(): Promise; getSessionState(): Promise; openManually(): Promise; close(): void; getEventFactory(): EventFactory; getCharactersList(): Promise; getCurrentCharacter(): Promise; getCharactersByIds(ids: string[]): Character[]; getCharactersByResourceNames(names: string[]): Character[]; setCurrentCharacter(character: Character): void; removeCharacters(names: string[]): void; open(): Promise; change(name: string, props?: ChangeSceneProps): Promise; send(getPacket: () => ProtoPacket, props?: { force?: boolean; }): Promise; private write; private writeToStream; private loadToken; ensureSessionToken(props?: { beforeLoading: () => void; sessionToken?: SessionToken; }): Promise; addInterval(interval: NodeJS.Timeout): void; removeInterval(interval: NodeJS.Timeout): void; markPacketAsHandled(packet: InworldPacket): void; private scheduleDisconnect; private cancelScheduler; private releaseQueue; private clearQueue; private convertPacketFromProto; private ensureCurrentCharacter; private setSceneFromProtoEvent; private initializeHandlers; private initializeExtension; private buildConfiguration; private pushToPerceivedLatencyQueue; private findLastAudioSessionIndexes; } export {};