import { Filter } from '../filters/Filter' ; import { LoadedCallback , Sound } from '../Sound' ; import { IMediaContext } from './IMediaContext' ; import { IMediaInstance } from './IMediaInstance' ; /**
 * Interface represents either a WebAudio source or an HTML5 AudioElement source
 */ interface IMedia { /** Collection of global filters */ filters : Filter [ ] ; readonly readonly context : IMediaContext ; readonly readonly duration : number ; readonly readonly isPlayable : boolean ; create ( ) : IMediaInstance ; init ( sound ) : void ; load ( callback ? ) : void ; destroy ( ) : void ; } export type { IMedia } ;