import { IStaticSoundOptions, StaticSound } from '@babylonjs/core'; import { AudioEngine } from "../engines/audio.d.ts"; import { Disposable } from "../interfaces/lifecycle.d.ts"; import { LoggingUtility } from "../utils/logger.d.ts"; /** * Public channel info exposed to consumers (no BabylonJS internals). */ export interface ChannelInfo { volume: number; muted: boolean; } export declare class AudioManager implements Disposable { private _audioEngine; private _channels; private _masterMuted; private _masterVolumeBeforeMute; private _log; constructor(audioEngine: AudioEngine, logger: LoggingUtility); initialize(channels: string[]): Promise; $teardown(): Promise; createSound(name: string, url: string, channel?: string, options?: Partial): Promise; setMasterVolume(volume: number): void; getMasterVolume(): number; setMasterMuted(muted: boolean): void; isMasterMuted(): boolean; setChannelVolume(channel: string, volume: number): void; getChannelVolume(channel: string): number; setChannelMuted(channel: string, muted: boolean): void; isChannelMuted(channel: string): boolean; getChannels(): string[]; }