import { ApiKey, Awaitable, Client, ClientConfiguration, GenerateSessionTokenFn, GetterSetter, User } from '../common/data_structures'; import { Extension } from '../common/data_structures/extension'; import { SessionContinuationProps } 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 { InworldConnectionService } from '../services/inworld_connection.service'; export declare class InworldClient { private apiKey; private user; private scene; private client; private config; private sessionContinuation; private generateSessionTokenFn; private sessionGetterSetter; private onDisconnect; private onError; private onMessage; private extension; private logger; constructor(); setApiKey(apiKey: ApiKey): this; setUser(user: User): this; setClient(client: Client): this; setConfiguration(config: ClientConfiguration): this; setScene(name: string): this; setOnDisconnect(fn: () => Awaitable): this; setOnError(fn: (err: InworldError) => Awaitable): this; setOnMessage(fn: (message: InworldPacketT) => Awaitable): this; setGenerateSessionToken(generateSessionToken: GenerateSessionTokenFn): this; setOnSession(props: GetterSetter): this; setExtension(extension: Extension): this; setSessionContinuation(sessionContinuation: SessionContinuationProps): this; generateSessionToken(): Promise; build(): InworldConnectionService; private validateApiKey; private validateScene; private validate; private logError; }