export default abstract class PlayerModel { id : number ; title : string ; listening : boolean ; image : string | undefined ; time : number | undefined ; statusKey : string | undefined ; statusText : string | undefined ; trayMessage : string = '' ; notification : string = '' ; constructor ( id , title , listening , image , time ) { this . id = id ; this . title = ! title ? 'Unknown Title' : title ; this . listening = listening ; this . image = image ; this . time = time ; this . statusKey = this . listening ? 'listening' : 'paused' ; this . statusText = this . listening ? 'Listening' : 'Paused' ; } abstract getId ( ) ; abstract getState ( ) ; abstract getStartTimestamp ( ) ; abstract getEndTimestamp ( ) ; abstract getImageText ( ) ; abstract getButtons ( ) ; }