import { type Nullable } from "../../types.js"; import { type AbstractAudioNode } from "../abstractAudio/abstractAudioNode.js"; import { type IStaticSoundCloneOptions, type IStaticSoundOptions, type IStaticSoundPlayOptions, type IStaticSoundStopOptions, type IStaticSoundStoredOptions, StaticSound } from "../abstractAudio/staticSound.js"; import { type IStaticSoundBufferCloneOptions, type IStaticSoundBufferOptions, StaticSoundBuffer } from "../abstractAudio/staticSoundBuffer.js"; import { type IStaticSoundInstanceOptions, _StaticSoundInstance } from "../abstractAudio/staticSoundInstance.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 StaticSoundSourceType = ArrayBuffer | AudioBuffer | StaticSoundBuffer | string | string[]; /** @internal */ export declare class _WebAudioStaticSound extends StaticSound implements IWebAudioSuperNode { private _buffer; private _stereo; protected readonly _options: IStaticSoundStoredOptions; protected _subGraph: _WebAudioBusAndSoundSubGraph; /** @internal */ _audioContext: AudioContext | OfflineAudioContext; /** @internal */ readonly engine: _WebAudioEngine; /** @internal */ constructor(name: string, engine: _WebAudioEngine, options: Partial); /** @internal */ _initAsync(source: StaticSoundSourceType, options: Partial): Promise; /** @internal */ get buffer(): _WebAudioStaticSoundBuffer; /** @internal */ get _inNode(): Nullable; /** @internal */ get _outNode(): Nullable; /** @internal */ get stereo(): _StereoAudio; /** @internal */ cloneAsync(options?: Nullable>): Promise; /** @internal */ dispose(): void; /** @internal */ getClassName(): string; protected _createInstance(): _WebAudioStaticSoundInstance; protected _connect(node: IWebAudioInNode): boolean; protected _disconnect(node: IWebAudioInNode): boolean; protected _createSpatialProperty(autoUpdate: boolean, minUpdateTime: number): AbstractSpatialAudio; _getOptions(): IStaticSoundStoredOptions; private static _SubGraph; } /** @internal */ export declare class _WebAudioStaticSoundBuffer extends StaticSoundBuffer { /** @internal */ _audioBuffer: AudioBuffer; /** @internal */ readonly engine: _WebAudioEngine; /** @internal */ constructor(engine: _WebAudioEngine); _initAsync(source: StaticSoundSourceType, options: Partial): Promise; /** @internal */ get channelCount(): number; /** @internal */ get duration(): number; /** @internal */ get length(): number; /** @internal */ get sampleRate(): number; /** @internal */ clone(options?: Nullable>): StaticSoundBuffer; private _initFromArrayBufferAsync; private _initFromUrlAsync; private _initFromUrlsAsync; } /** @internal */ declare class _WebAudioStaticSoundInstance extends _StaticSoundInstance implements IWebAudioOutNode { private _enginePlayTime; private _enginePauseTime; private _isConnected; private _pitch; private _playbackRate; private _sourceNode; private _volumeNode; protected readonly _options: IStaticSoundInstanceOptions; protected _sound: _WebAudioStaticSound; /** @internal */ readonly engine: _WebAudioEngine; constructor(sound: _WebAudioStaticSound, options: IStaticSoundInstanceOptions); /** @internal */ dispose(): void; /** @internal */ get currentTime(): number; set currentTime(value: number); get _outNode(): Nullable; /** @internal */ set pitch(value: number); /** @internal */ set playbackRate(value: number); /** @internal */ get startTime(): number; /** @internal */ getClassName(): string; /** @internal */ play(options?: Partial): void; /** @internal */ pause(): void; /** @internal */ resume(): void; /** @internal */ stop(options?: Partial): void; protected _connect(node: AbstractAudioNode): boolean; protected _disconnect(node: AbstractAudioNode): boolean; protected _onEnded: () => void; private _deinitSourceNode; private _initSourceNode; private _onEngineStateChanged; } export {};