import type { VideoFeedSource } from '../models/VideoFeedSource'; import type VideoType from './VideoType'; import type LiveStreamStatus from './LiveStreamStatus'; export default interface FeedItemDetails { /** * The index of the thumbnail tapped in the feed. */ index: number; /** * The unique id of the thumbnail. * If the source is playlistGroup this value will represent the playlist's id; otherwise this value is the id of the selected video. */ id: string; /** * The total duration of the video. * If the source is playlistGroup this value will always be 0. * Otherwise this value is the duration of the selected video. */ duration: number; /** * The title of the feed item. * Currently, the property doesn't have value on the Android side when the source is playlistGroup. * But the property has value for other feed sources. */ title?: string | null; /** * The source of the feed. */ source: VideoFeedSource; /** * The channel id of the feed. * The property has value when the source is channel or playlist or dynamicContent. */ channel?: string | null; /** * Playlist id of the feed. The property has value when the source is playlist. */ playlist?: string | null; /** * Playlist group id of the feed. The property has value when the source is playlistGroup. */ playlistGroup?: string | null; /** * The dynamic content parameters of the feed. The property has value when the source is dynamicContent. */ dynamicContentParameters?: { [key: string]: string[] } | null; /** * Hashtag filter expression is an s-expression used to provide feeds filtered by hashtags with specified criteria. * Queries are specified with boolean predicates on what hashtags are there on the video. * For instance, (and sport food) (or sport food) (and sport (or food comedy)) sport are all valid expressions. * Non-UTF-8 characters are not allowed. If using boolean predicates, the expression needs to be wrapped with parenthesis. */ hashtagFilterExpression?: string | null; /** * The feed id for the item. */ feedId?: string | null; /** * The type of video. */ videoType?: VideoType | null; /** * The status of the livestream. * When videoType is VideoType.Livestream, you could use * this property to check the live stream status. */ liveStreamStatus?: LiveStreamStatus | null; }