import { IAssetsEntity, IStatus, WinnerTeam } from './common'; import { IMultiSportConfig } from './multisport'; export interface INormalizedPlayoffData { smallFinal: IPlayoffRoundGroup | null; groupsEvents: IPlayoffRoundGroup[][]; roundNames: string[]; dataLabels?: IMultiSportConfig['dataLabels']; handleTeamClick?: (id: string | number, name: string) => void; handleEventClick?: (id: string | number) => void; sport?: string; type?: string; isNational?: boolean; participants?: IResultParticipant[] | null; } export interface IPlayoffProps { id: string | null; name: string | null; coverage: string | null; startDate: string | null; endDate: string | null; entityType: string | null; assets: IPlayoffAsset | null; rounds: PlayoffRounds | null; logo: string; startRound: string | null; endRound: string | null; type: string | null; } export interface IPlayoffRounds { id: string | null; name: string | null; status: string | null; entityType: string | null; endDate: string | null; startDate: string | null; groups: IPlayoffRoundGroup[] | null; assets: IPlayoffAsset | null; } export type IBasketballStatus = Omit & { entityType?: string; code?: string; }; export interface IPlayoffEvent { id: string | null; slug: string; participants: IResultParticipant[] | null; results: IPlayoffResult[] | null; status: IBasketballStatus | null; scheduledStartTime: string | null; } export interface IPlayoffRoundGroup { id: string; order: number | null; participants: IPlayoffRoundGroupParticipant[] | null; events: IPlayoffEvent[] | null; results: IPlayoffResult[] | null; childObjectId: string | null; matchLink?: string; urlTarget?: string; } export interface IPlayoffRoundGroupParticipant { id: string | null; name: string | null; slug: string; gender: string | null; type: string | null; threeLetterCode: string | null; entityType: string | null; drawOrder: number | null; assets: IPlayoffAsset | null; eventOrder: number | null; url?: string; urlTarget?: string; winner?: { value: WinnerTeam; }; seed: any; logo?: string | null; details: IPlayoffRoundGroupParticipantDetails[]; } export interface IPlayoffRoundGroupParticipantDetails { country: IPlayoffRoundGroupParticipantCountry; name: string; id: string; slug: string; entityType: string; url: string; gender: string; type: string | null; } export interface IPlayoffRoundGroupParticipantCountry { assets: IPlayoffRoundGroupParticipantCountryAssets; id: string; name: string; entityType: string; slug: string; } export interface IPlayoffRoundGroupParticipantCountryAssets { flag: IAssetsEntity; } export interface IPlayoffAsset { logo: IAssetsEntity | null; logo150x150: IAssetsEntity | null; } export type PlayoffRounds = Map; export interface IPlayoffResult { participants: IResultParticipant[] | null; resultType: IResultType | null; } export interface IResultParticipant { id: string | null; value: string | null; drawOrder: number | null; eventOrder?: number | null; threeLetterCode: string | null; } export interface IResultType { id: string | null; name: string | null; type: string | null; entityType: string | null; shortName: string | null; }