import {
  CurrentByDayAndPreviousWithDsp,
  DemographicsByDsp,
  PlaylistTrackPositionWithCurrentStreams,
  ChartTrackPosition,
  ReleaseToDateStreams,
  DspSlug,
  Engagement,
  DspSource,
} from '../types/types'
import { CountryWithStreamsByDsp } from '../types/Country'
import { Track } from '../types/Track'

export interface TrackScreenResponse {
  track: Track
  releaseToDateStreams: ReleaseToDateStreams[]
  streamsByPlatform: CurrentByDayAndPreviousWithDsp[]
  topCharts: {
    dsp: string
    chartTrackPositions: ChartTrackPosition[]
  }[]
  topPlaylists: {
    dsp: string
    playlistTrackPositions: PlaylistTrackPositionWithCurrentStreams[]
    totalPlaylists: number | null
  }[]
  demographicsByDsp: DemographicsByDsp[]
  topCountries: CountryWithStreamsByDsp[]
  engagement: Record<DspSlug, Engagement>
  streamsSource: {
    apple: DspSource | null
    spotify: DspSource | null
    amazon: DspSource | null
  }
}
