import { IAssets, ICompetition, IConfigEntityLinksOptional, INormalizedTeamForm, IRule, ISeason, IStandingsDataLabels, IStandingsTeamForm, RefreshTimes, ShortNameType, Themes, WidgetType } from './common'; import { IPlayoffProps } from './playoff'; export interface IStandingsConfig { dataWidgetSport: string; dataWidgetType: WidgetType; dataWidgetId: string; dataTeamNameType?: ShortNameType | null; dataStage?: string; dataSeason?: string; dataCompetition?: string; dataHeaderDisplay?: boolean; dataOptionsDisplay?: boolean; dataRefreshTime: RefreshTimes; dataEntityLinks?: IConfigEntityLinksOptional; dataTheme?: Themes | null; dataLabels?: IStandingsDataLabels | null; dataHeaderDefaultOption?: string; dataImageDisplay?: boolean; dataHighlightEntities?: string[]; dataLimit?: string; dataOffset?: string; } export interface IGroup { id: string; name: string; type: string; entityType: string; assets: IAssets; } export interface IStandingsGroupType { id: string; name: string; type: string; entityType: string; shortName: string; assets: IAssets; } export interface IColumnType { id: string; name: string; code: string; shortName: string; assets?: IAssets; entityType: string; } export interface IGroup { id: string; name: string; type: string; entityType: string; assets: IAssets; } export interface IStandingsGroupType { id: string; name: string; type: string; entityType: string; shortName: string; assets: IAssets; } export interface IColumnType { id: string; name: string; code: string; shortName: string; assets?: IAssets; entityType: string; } export interface IStandingsRawResponse { rankingType: string; type: string; standing: IStanding[]; group: IStandingsGroupType; stage: IStandingsStageResponse; } export interface IPlayoffResponse { playoff: IPlayoffProps | null; } export interface IStandingsAPIResponse { standingsGroupTypes: IStandingsGroupType[]; standings: IStageStandings[]; } export interface DisplayEntity { id: string; name: string; season: ISeason; competition: ICompetition; entity_type: string; assets: IAssets; slug: string; } export interface StandingType { id: string; name: string; category: string; subcategory: string; entity_type: string; assets: IAssets; } export interface IStandingsStageResponse { id: string; name: string; short_name?: string; slug?: string; entity_type?: string; assets?: IAssets; available_standings?: boolean; available_playoffs: boolean; } export interface IStandingsCompetitionDetailsResponse { competition: IStandingsCompetitionResponse; available_seasons: IStandingsSeasonResponse[]; } export interface IStandingsCompetitionResponse { id: string; name: string; country: ICountry; slug: string; entity_type: string; assets: IAssets; display_asset?: { url?: string; }; } interface ICountry { assets: IAssets; entity_type: string; id: string; name: string; slug: string; display_asset?: { url?: string; }; } export interface IStandingsSeasonResponse { id: string; name: string; stages: IStandingsStageResponse[]; slug: string; entity_Type: string; assets: IAssets; } export interface IStandingRule extends IRule { entity_type: string; assets?: IAssets; } export interface IStandingTeam { assets: { logo: { url: string; }; }; entity_type: string; gender: string; id: string; name: string; short_name: string | null; slug: string; three_letter_code: string | null; type: string; } export interface IStandingsColumn { value: string; type: IColumnType; } export interface IStanding { columns: IStandingsColumn[]; team: IStandingTeam; rules: IStandingRule[]; form: IStandingsTeamForm[]; } export interface IStandingsGroup { rankingType: string; type: string; filter: string; standing: IStanding[]; group: IGroup; } export interface IStageStandings { groupTypes: IStandingsGroupType; standings: IStandingsGroup[]; rules: IStandingRule[]; } export declare enum ALL_TABLE_TYPES { PLAYED = "PLAYED", WINS = "WINS", WINS_OVER_TIME = "WINS_OVER_TIME", LOSSES = "LOSSES", LOSSES_OVER_TIME = "LOSSES_OVER_TIME", WINS_PENALTY = "WINS_PENALTY", LOSSES_PENALTY = "LOSSES_PENALTY", GOAL_DIFFERENCES = "GOAL_DIFFERENCES", POINTS = "POINTS", TOTAL_POINTS = "TOTAL_POINTS", PERCENTAGE = "PERCENTAGE", GOALS_FOR = "GOALS_FOR", GOALS_AGAINST = "GOALS_AGAINST", FORM = "FORM" } export interface INormalizeStandingsData { standings: INormalizeStandingData[]; } interface INormalizeStandingData { group: INormalizeGroup; labels: IGeneralOptionType[]; data: INormalizeTableData[]; rules: INormalizeRules[]; } interface INormalizeGroup { type: string; name: string; } export interface INormalizeTableData { values: IGeneralOptionType[]; team: INormalizeStandingTeam; rank: string; url: string; urlTarget: string; form: INormalizedTeamForm[]; ruleType?: string; } export interface INormalizeRules { id: string; name: string; type: string; } export interface IGeneralOptionType { type: string; value: string; } export interface INormalizeStandingTeam { id: string; name: string; logo: string; slug: string; withBadge: boolean; } export {};