/** * Sound model — an app registers its sound inventory, the service decodes * and plays it. The framework knows nothing about what a key means. */ export interface SoundDefinition { /** Stable key, e.g. "coin" or "cardShove1". */ key: string; /** Absolute URL of the audio file (mp3/wav/ogg — whatever the browser decodes). */ url: string; /** Default gain for this sound (0–1), multiplied with the master volume. */ volume?: number; } export interface PlayOptions { /** Gain for this play (0–1); overrides the definition's default. */ volume?: number; loop?: boolean; } export interface SoundHandle { /** Stop this play (loops especially). Safe to call more than once. */ stop(): void; } export interface PreloadResult { loaded: string[]; /** Keys that failed (unknown key, HTTP error, undecodable) — never throws. */ failed: string[]; } //# sourceMappingURL=sound-model.d.ts.map