import { AudioPlaybackConfig, Awaitable, OnPhomeneFn } from '../../common/data_structures'; import { InworldPacket } from '../../entities/inworld_packet.entity'; interface AudioQueueItem { packet: InworldPacketT; onBeforePlaying?: (packet: InworldPacketT) => void; onAfterPlaying?: (packet: InworldPacketT) => void; } export declare class GrpcAudioPlayback { private currentItem; private audioQueue; private audioPlaybackConfig; private isPlaying; private isStopping; private playbackAudioContext; private audioBufferSourceNode?; private onAfterPlaying; private onBeforePlaying; private onStopPlaying; private onPhoneme; private destinationNode; private gainNode; private muted; constructor(props?: { audioPlaybackConfig?: AudioPlaybackConfig; onAfterPlaying?: (message: InworldPacketT) => Awaitable; onBeforePlaying?: (message: InworldPacketT) => Awaitable; onStopPlaying?: () => Awaitable; onPhoneme?: OnPhomeneFn; }); getIsActive(): boolean; addToQueue(item: AudioQueueItem): void; clearQueue(): void; excludeCurrentInteractionPackets(exceptInteractionId: string): InworldPacketT[]; hasPacketInQueue(props: { interactionId?: string; utteranceId?: string; }): boolean; isCurrentPacket(props: { interactionId?: string; utteranceId?: string; }): boolean; getCurrentPacket(): InworldPacketT; getPlaybackStream(): MediaStream; getMute(): boolean; mute(mute: boolean): Promise; getVolume(): number; stop(): Promise; stopForInteraction(interactionId: string): Promise; init(): Promise; private clearSourceNode; private getSourceNode; private playQueue; private adjustVolume; } export {};