import { InworldPacket as ProtoPacket } from '../../../proto/ai/inworld/packets/packets_pb'; import { AudioSessionStartPacketParams, CancelResponsesProps, PerceivedLatencyReportProps, SendPacketParams, TriggerParameter } from '../common/data_structures'; import { ConvesationInterface } from '../common/data_structures/extension'; import { Character } from '../entities/character.entity'; import { InworldPacket } from '../entities/packets/inworld_packet.entity'; import { ConnectionService } from './connection.service'; export interface PacketQueueItem { getPacket: () => ProtoPacket; afterWriting: (packet: InworldPacketT) => void; } export declare class ConversationService implements ConvesationInterface { private connection; private conversationId; private participants; private addCharacters?; private packetQueue; constructor(connection: ConnectionService, { participants, conversationId, addCharacters, }: { participants: string[]; conversationId?: string; addCharacters: (names: string[]) => Promise; }); getConversationId(): string; getParticipants(): string[]; getCharacters(): Character[]; changeParticipants(participants: string[]): void; updateParticipants(participants: string[]): Promise; sendText(text: string): Promise; sendAudio(chunk: string): Promise; sendTrigger(name: string, parameters?: { parameters?: TriggerParameter[]; character?: Character; }): Promise; sendAudioSessionStart(params?: AudioSessionStartPacketParams): Promise; sendAudioSessionEnd(): Promise; sendCancelResponse(cancelResponses?: CancelResponsesProps): Promise; sendTTSPlaybackMute(isMuted: boolean): Promise; sendNarratedAction(text: string): Promise; sendCustomPacket(getPacket: (params: SendPacketParams) => ProtoPacket): Promise; sendPerceivedLatenctReport(props: PerceivedLatencyReportProps): Promise; private ensureConversation; private resolveInterval; private releaseQueue; private getCharacterParticipants; }