import internal from 'stream' ; import * as apid from '../../../../api' ; import IPlayList from '../IPlayList' ; export interface StreamResponse { streamId : apid . StreamId ; stream : internal . Readable ; } export default interface IStreamApiModel { startLiveM2TsStream ( option ) : Promise < StreamResponse > ; startLiveM2TsLLStream ( option ) : Promise < StreamResponse > ; startLiveWebmStream ( option ) : Promise < StreamResponse > ; startMp4Stream ( option ) : Promise < StreamResponse > ; startLiveHLSStream ( option ) : Promise < apid . StreamId > ; startRecordedWebMStream ( option ) : Promise < StreamResponse > ; startRecordedMp4Stream ( option ) : Promise < StreamResponse > ; startRecordedHLSStream ( option ) : Promise < apid . StreamId > ; getLiveM2TsStreamM3u8 ( host , isSecure , option ) : Promise < IPlayList | null > ; stop ( streamId , isForce ? ) : Promise < void > ; stopAll ( ) : Promise < void > ; keep ( streamId ) : void ; getStreamInfos ( isHalfWidth ) : Promise < apid . StreamInfo > ; }