UNPKG

ts-freebox

Version:

159 lines (157 loc) 3.6 kB
interface Player { device_name: string; stb_type: string; uid: string; reachable: boolean; api_version: string; id: number; api_available: boolean; } interface PlayerStatusForegroudApp { package_id: string; cur_url: string; context: { player: ContextPlayer; channel: Channel; }; package: string; } interface PlayerStatusCapabilities { play: boolean; pause: boolean; stop: boolean; next: boolean; prev: boolean; record: boolean; record_stop: boolean; seek_forward: boolean; seek_backward: boolean; seek_to: boolean; shuffle: boolean; repeat_all: boolean; repeat_one: boolean; select_stream: boolean; select_audio_track: boolean; select_srt_track: boolean; } interface PlayerStatusInformation { name: string; last_activity: string | number | any; capabilities: Partial<PlayerStatusCapabilities> | { [key: string]: boolean; }; } interface PlayerStatus { power_state: power_state; player: PlayerStatusInformation; foreground_app: PlayerStatusForegroudApp; state: State; } interface Channel { services: Service[]; isTimeShifting: boolean; videoIsVisible: boolean; channelName: string; channelNumber: number; channelType: string; bouquetName: string; currentServiceIndex: string; channelUuid: string; bouquetType: string; bouquetId: number; channelSubNumber: number; } interface Service { timeshifting: boolean; id: number; typeLabel: string; qualityName: string; url: string; name: string; qualityLabel: string; sortInfo: number; pvr: string; typeName: string; priv: { iptv: IPTV; type: string; }; } interface IPTV { bandwidth: number; udpmsg3_namespace: number; udpmsg3_service: number; rash: boolean; lan_stream: boolean; } interface ContextPlayer { source: string; duration: number; livePos: string; playbackState: string; audioIndex: number; audioList: AudioList[]; curPos: string; subtitleIndex: number; videoIndex: number; metadata: object & any; videoList: VideoList[]; subtitleList: SubtitleList[]; position: number; mediaState: string; sourceHidden: boolean; minPos: string; maxPos: string; } interface AudioList { samplerate: number; type: string; pid: number; channelCount: number; bitrate: string; codec: string; adAvailable: boolean; uid: number; codecId: string; language: string; metadataId: string; } interface SubtitleList { codec: string; pid: number; uid: number; language: string; type: string; } interface VideoList { bitrate: string; codec: string; pid: number; height: number; framerate: { den: number; num: number; }; uid: number; width: number; } interface State { duration_ms: number; playback_state: string; position_ms: number; } type power_state = "standby" | "running"; declare enum commands { play_pause = "toogle play pause", stop = "stop", prev = "previous", next = "next", select_stream = "select quality of the stream", select_audio_track = "select audio track", select_srt_track = "select subtitle track" } interface volume { mute: boolean; volume: number; } export { type Player, type PlayerStatus, type PlayerStatusCapabilities, type PlayerStatusForegroudApp, type PlayerStatusInformation, commands, type power_state, type volume };