import { PlayOptions } from '../Sound' ; import { IMedia } from './IMedia' ; /**
 * Interface for single instance return by a Sound play call. This can either
 * be a WebAudio or HTMLAudio instance.
 */ interface IMediaInstance { readonly readonly id : number ; readonly readonly progress : number ; /**
     * If the instance is paused, if the sound or global context
     * is paused, this could still be false.
     */ paused : boolean ; /**
     * Current volume of the instance. This is not the actual volume
     * since it takes into account the global context and the sound volume.
     */ volume : number ; /**
     * Current speed of the instance. This is not the actual speed
     * since it takes into account the global context and the sound volume.
     */ speed : number ; /** If the current instance is set to loop */ loop : boolean ; /** Set the muted state of the instance */ muted : boolean ; /** Stop the current instance from playing. */ stop ( ) : void ; event event event event param { number } progress param { number } duration event param { boolean } paused event event refresh ( ) : void ; refreshPaused ( ) : void ; init ( parent ) : void ; play ( options ) : void ; destroy ( ) : void ; toString ( ) : string ; once ( event , fn , context ? ) : this ; once ( event , fn , context ? ) : this ; once ( event , fn , context ? ) : this ; on ( event , fn , context ? ) : this ; on ( event , fn , context ? ) : this ; on ( event , fn , context ? ) : this ; off ( event , fn ? , context ? , once ? ) : this ; param name param value example set ( name , value ) : this ; } export type { IMediaInstance } ;