import { type Nullable } from "../../types.js"; import { type AbstractAudioNode } from "../abstractAudio/abstractAudioNode.js"; import { type IStreamingSoundOptions, type IStreamingSoundPlayOptions, type IStreamingSoundStoredOptions, StreamingSound } from "../abstractAudio/streamingSound.js"; import { _StreamingSoundInstance } from "../abstractAudio/streamingSoundInstance.js"; import { type AbstractSpatialAudio } from "../abstractAudio/subProperties/abstractSpatialAudio.js"; import { _StereoAudio } from "../abstractAudio/subProperties/stereoAudio.js"; import { _WebAudioBusAndSoundSubGraph } from "./subNodes/webAudioBusAndSoundSubGraph.js"; import { type _WebAudioEngine } from "./webAudioEngine.js"; import { type IWebAudioInNode, type IWebAudioOutNode, type IWebAudioSuperNode } from "./webAudioNode.js"; type StreamingSoundSourceType = HTMLMediaElement | string | string[]; /** @internal */ export declare class _WebAudioStreamingSound extends StreamingSound implements IWebAudioSuperNode { private _stereo; protected readonly _options: IStreamingSoundStoredOptions; protected _subGraph: _WebAudioBusAndSoundSubGraph; /** @internal */ _audioContext: AudioContext; /** @internal */ readonly engine: _WebAudioEngine; /** @internal */ _source: StreamingSoundSourceType; /** @internal */ constructor(name: string, engine: _WebAudioEngine, options: Partial); /** @internal */ _initAsync(source: StreamingSoundSourceType, options: Partial): Promise; /** @internal */ get _inNode(): Nullable; /** @internal */ get _outNode(): Nullable; /** @internal */ get stereo(): _StereoAudio; /** @internal */ dispose(): void; /** @internal */ getClassName(): string; protected _createInstance(): _WebAudioStreamingSoundInstance; protected _connect(node: IWebAudioInNode): boolean; protected _disconnect(node: IWebAudioInNode): boolean; protected _createSpatialProperty(autoUpdate: boolean, minUpdateTime: number): AbstractSpatialAudio; _getOptions(): IStreamingSoundStoredOptions; private static _SubGraph; } /** @internal */ declare class _WebAudioStreamingSoundInstance extends _StreamingSoundInstance implements IWebAudioOutNode { private _currentTimeChangedWhilePaused; private _enginePlayTime; private _enginePauseTime; private _isReady; private _isReadyPromise; private _mediaElement; private _sourceNode; private _volumeNode; protected readonly _options: IStreamingSoundStoredOptions; protected _sound: _WebAudioStreamingSound; /** @internal */ readonly engine: _WebAudioEngine; constructor(sound: _WebAudioStreamingSound, options: IStreamingSoundStoredOptions); /** @internal */ get currentTime(): number; set currentTime(value: number); get _outNode(): Nullable; /** @internal */ get startTime(): number; /** @internal */ dispose(): void; /** @internal */ play(options?: Partial): void; /** @internal */ pause(): void; /** @internal */ resume(): void; /** @internal */ stop(): void; /** @internal */ getClassName(): string; protected _connect(node: AbstractAudioNode): boolean; protected _disconnect(node: AbstractAudioNode): boolean; private _initFromMediaElement; private _initFromUrl; private _initFromUrls; private _onCanPlayThrough; private _onEnded; private _onError; private _onEngineStateChanged; private _onUserGesture; private _play; private _playWhenReady; private _rejectIsReadyPromise; private _resolveIsReadyPromise; private _stop; } export {};