import { MaterialSoundConfig } from './MaterialSoundConfig'; export declare class AudioLoader { private readonly audioContext; private sources; private readonly buffers; private readonly sounds; private muted; constructor(); /** * Fetch and decode every sound, and resolve once they have all been tried. * * A sound that cannot be fetched or decoded is reported and skipped, never rethrown. Callers wait on this * promise to take the loading screen down — `onSoundsLoad` — so a rejection here does not degrade the sound, * it strands the player on the loading screen forever. One missing file must cost its own sound and nothing * else, which matters all the more now that the framework gives materials sounds the game never listed and * may not have published yet. */ load(sources: (string | MaterialSoundConfig)[]): Promise; play(soundConfig: string | MaterialSoundConfig): void; status(): AudioContextState; loop(sound: string | MaterialSoundConfig): void; volume(id: string, volume: number): void; resume(): Promise; /** * Mute is a simple volume = 0 because suspending the audio context only create a "pause" on sound */ mute(): void; unmute(): void; }