import { IAssetsEntity } from './common'; export interface ITournamentMatchesH2H { tournament: ITournamentH2H; matches: IMatchH2H[]; } export interface ITournamentMatchesResponseData { matches: ITournamentMatchesH2H[]; teams: ITwoTeamsH2H; } export interface ITwoTeamsH2H { firstTeam?: ITeamH2H | null; secondTeam?: ITeamH2H | null; } export interface IMatchesH2HResponseData { matches: IMatchH2H[]; teams: ITeamH2H; } export interface IMatchH2H { id: string; status: IMatchStatusH2H | null; kickoffTime: string; stage: IStageH2H; season: ISeasonH2H; group: IGroupH2H | null; round: IRoundH2H | null; homeTeam: ITeamH2H; awayTeam: ITeamH2H; referees: IRefereeH2H[] | null; venue: IVenueH2H | null; spectators: number | null; coverage: string; minute: IMatchMinuteH2H | null; phaseStartedAt: string | null; finishedAt: string | null; score: IMatchScoreH2H | null; winner: IWinnerH2H | null; mainEvents: IMainEventsH2H | null; slug: string | null; } export interface IMatchStatusH2H { id: string; name: string; shortName: string; type: string; code: string; } export interface IStageH2H { id: string; name: string; type: string; startDate: string; endDate: string; orderInSeason: number; coverage: string; status?: string | null; shortName: string | null; slug: string | null; } export interface IAssetsH2H { logo: IAssetsEntity; thumb: IAssetsEntity; image: IAssetsEntity; homeKit: IAssetsEntity; awayKit: IAssetsEntity; flag: IAssetsEntity; squadImage: IAssetsEntity; } export interface ICountryH2H { id: string; name: string; code?: string | null; assets: IAssetsH2H; slug: string | null; } export interface ITournamentH2H { id: string; name: string; country: ICountryH2H; gender: string; type: string; region: string; assets: IAssetsH2H | null; slug: string | null; } export interface ISeasonH2H { id: string; name: string; status: string; tournament: ITournamentH2H; slug: string | null; } export interface IGroupH2H { id: string; name: string; orderInStage: string; slug: string | null; } export interface IRoundH2H { key: string; name: string; type: string; } export interface ITeamBasicH2H { id: string; name: string | null; type: string | null; logo: string; threeLetterCode: string | null; shortName: string | null; gender: string | null; slug: string | null; } export interface ITeamH2H extends ITeamBasicH2H { country: ICountryH2H | null; founded: number | null; social: any | null; venue: IVenueH2H | null; activeSeasons: ISeasonH2H[] | null; coach: ICoachH2H | null; president: string | null; shirtColors: IShirtColorsH2H[] | null; shirtColor: string | null; assets: IAssetsH2H; winner: IWinnerH2H | null; } export interface IVenueBasicH2H { id: string; name: string; } export interface IProfileH2H { capacity: number; lat: number; lng: number; } export interface IVenueH2H extends IVenueBasicH2H { city: ICityH2H | null; country: ICountryH2H | null; profile: IProfileH2H | null; assets: IAssetsH2H | null; slug: string | null; } export interface ICityH2H { id: string | null; name: string | null; country: ICountryH2H | null; } export interface ICoachH2H { id: string | null; name: string | null; country: ICountryH2H; birthdate: string | null; gender: string | null; assets: IAssetsH2H; slug: string | null; } export interface IShirtColorsH2H { type: string | null; colorCode: string | null; } export interface IWinnerReasonH2H { name?: string | null; } export interface IWinnerMatchH2H { id: string; reason?: IWinnerReasonH2H | null; } export interface IWinnerH2H { match?: IWinnerMatchH2H | null; aggregate?: IWinnerMatchH2H | null; } export interface IRefereeH2H { id: string; name: string; role: string; gender?: string | null; assets?: IAssetsH2H | null; slug: string | null; } export interface IMatchMinuteH2H { regularTime: number; injuryTime?: number | null; } export interface ITeamScoreH2H { home: number; away: number; } export interface IMatchScoreH2H { total: ITeamScoreH2H; halfTime?: ITeamScoreH2H | null; regularTime?: ITeamScoreH2H | null; extraTime?: ITeamScoreH2H | null; penaltyShootout?: ITeamScoreH2H | null; display?: ITeamScoreH2H | null; aggregate?: ITeamScoreH2H | null; } export interface IMainEventsH2H { id: string | null; matchId: string | null; typeCode: string | null; teamPosition: string | null; minute: number | null; teamId: string | null; primaryPlayer: IMainEventsPlayerH2H | null; secondaryPlayer: IMainEventsPlayerH2H | null; score: IMainEventsScoreH2H | null; } export interface IMatchTeamStatisticsResponseArray { team?: { id: number | string; name?: string; url_logo?: string | null; slug?: string; three_letter_code?: string | null; type?: string; gender?: string | null; short_name?: string | null; uuid?: string; }; season?: { id: number; name: string; slug: string; active: boolean; uuid: string; tournament: { id: number; name: string; slug: string; url_logo: string; country?: { id: number; name: string; slug: string; uuid: string; url_flag: string; }; regional_league?: boolean; gender?: string; type?: string; region?: string; uuid?: string; }; }; statistics?: Record; event_id?: number; home_team?: boolean; } export interface IMainEventsPlayerH2H { id: string | null; name: string | null; position: string | null; gender: string | null; } export interface IMainEventsScoreH2H { home: number | null; away: number | null; }