@sensiblestats/widget-sdk 0.74.1 → 0.75.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -154,6 +154,134 @@ interface GreetingDashboard {
154
154
  subtitle?: string | null;
155
155
  footerTip?: string | null;
156
156
  tiles: GreetingDashboardTile[];
157
+ /** Per-visitor layer. Absent when the server has nothing to add. */
158
+ personal?: GreetingPersonalSection;
159
+ }
160
+ type GreetingPersonalTier = 'cold' | 'some' | 'known';
161
+ type GreetingEntityKind = 'competition' | 'team' | 'player' | 'match';
162
+ type GreetingGamesScope = 'page' | 'pinned' | 'starredTeams' | 'starredLeagues' | 'learnedTeam' | 'all';
163
+ interface GreetingEntityChip {
164
+ kind: GreetingEntityKind;
165
+ id: string;
166
+ label: string;
167
+ playing: boolean;
168
+ }
169
+ interface GreetingPersonalSection {
170
+ tier: GreetingPersonalTier;
171
+ ribbon?: {
172
+ stars: GreetingEntityChip[];
173
+ moreStars: number;
174
+ usual?: {
175
+ marketKey: string;
176
+ label: string;
177
+ };
178
+ fromChats: GreetingEntityChip[];
179
+ };
180
+ /** followTargets: the team or player itself, or both teams of a pinned match; may be empty. One Follow button per entry. */
181
+ guess?: {
182
+ kind: GreetingEntityKind;
183
+ id: string;
184
+ label: string;
185
+ reason: string;
186
+ followTargets: GreetingEntityChip[];
187
+ card?: GreetingTeamCard;
188
+ };
189
+ /** Absent in cool-off only; with no key it is the default preset (pack's first market, all games, singles). legs 1 = singles. matchIds: bare ids, max 12; send an empty list with gamesScope 'all' to the grid endpoint as widen=true. The only place combo size and total travel; render as control state, never as text. */
190
+ builder?: GreetingBuilderPreset;
191
+ teamCards: GreetingTeamCard[];
192
+ playerCards: GreetingPlayerCard[];
193
+ facts: {
194
+ marketKey: string;
195
+ text: string;
196
+ hits: number;
197
+ window: number;
198
+ matchId?: string;
199
+ }[];
200
+ asks: {
201
+ actionLabel: string;
202
+ actionValue: string;
203
+ }[];
204
+ since: {
205
+ text: string;
206
+ }[];
207
+ followSuggestions: GreetingEntityChip[];
208
+ /** Starred teams with no game in the window, at most 2. */
209
+ idleTeams?: GreetingIdleTeam[];
210
+ }
211
+ interface GreetingBuilderPreset {
212
+ marketKey: string;
213
+ gamesScope: GreetingGamesScope;
214
+ matchIds: string[];
215
+ legs: number;
216
+ totalTarget: string;
217
+ /** The visitor's usual market first, then pack order. Absent from older servers; never empty when present. */
218
+ marketOptions?: GreetingMarketOption[];
219
+ /** Option ids: 'all' (matchIds [] means widen), 'teams', 'leagues', 'learned', 'league:<id>', 'game:<id>'. Absent from older servers. */
220
+ gamesOptions?: GreetingGamesOption[];
221
+ /** The option the preset opens on. */
222
+ gamesOptionId?: string;
223
+ /** A short localized line about when games return ("Next games tomorrow."); shown with the pause note. Omitted when the server has nothing to say. */
224
+ nextGames?: string | null;
225
+ /** True or absent, never false: the visitor's usual market had no lines in the first-choice games, so the games slot moved wider (C13). */
226
+ widenedForMarket?: true;
227
+ }
228
+ interface GreetingMarketOption {
229
+ key: string;
230
+ label: string;
231
+ usual?: boolean;
232
+ }
233
+ interface GreetingGamesOption {
234
+ id: string;
235
+ label: string;
236
+ group?: 'league' | 'game';
237
+ matchIds: string[];
238
+ startsAtUtc?: string;
239
+ mine?: boolean;
240
+ }
241
+ interface GreetingIdleTeam {
242
+ teamId: string;
243
+ label: string;
244
+ actionLabel: string;
245
+ actionValue: string;
246
+ }
247
+ type GreetingFormResult = 'W' | 'D' | 'L';
248
+ /** `lines` stays on the wire for older widgets; the widget never draws a team card's lines. `h2h.wins` are the home side's. */
249
+ interface GreetingTeamCard {
250
+ teamId: string;
251
+ label: string;
252
+ matchId?: string;
253
+ form: GreetingFormResult[];
254
+ h2h?: {
255
+ meetings: number;
256
+ wins: number;
257
+ draws: number;
258
+ losses: number;
259
+ };
260
+ lines: string[];
261
+ homeLabel?: string;
262
+ awayLabel?: string;
263
+ homeForm?: GreetingFormResult[];
264
+ awayForm?: GreetingFormResult[];
265
+ startsAtUtc?: string;
266
+ competitionLabel?: string;
267
+ fact?: string;
268
+ }
269
+ type GreetingPlayerStatus = 'available' | 'doubtful' | 'out' | 'unknown';
270
+ interface GreetingPlayerHit {
271
+ label: string;
272
+ hits: number;
273
+ window: number;
274
+ }
275
+ /** `lines` stays on the wire for older widgets: drawn only when `hits` is absent. */
276
+ interface GreetingPlayerCard {
277
+ playerId: string;
278
+ label: string;
279
+ status: GreetingPlayerStatus;
280
+ statusAsOfUtc?: string;
281
+ lines: string[];
282
+ hits?: GreetingPlayerHit[];
283
+ matchLabel?: string;
284
+ startsAtUtc?: string;
157
285
  }
158
286
  /** One sport's dashboard in a multi-sport greeting. `sport` is the server key ("football", "nba"); `label` is localized by the server. */
159
287
  interface GreetingDashboardSet {
@@ -936,6 +1064,8 @@ interface MarketOddsRow {
936
1064
  isMainLine?: boolean;
937
1065
  /** The bookmaker is not taking this selection. Absent on older servers -> treated as open. */
938
1066
  isSuspended?: boolean;
1067
+ /** The selection text exactly as the visitor should read it. Present only when it differs from `selectionLabel` + `line`, which the slip keeps getting raw. */
1068
+ displayLabel?: string | null;
939
1069
  previousPrice?: number | null;
940
1070
  previousPriceAtUtc?: string | null;
941
1071
  movementDirection?: 'shortened' | 'drifted' | null;
@@ -1108,6 +1238,57 @@ interface PresetGrid {
1108
1238
  markets?: PresetMarketCell[];
1109
1239
  [key: string]: unknown;
1110
1240
  }
1241
+ /** The sentence builder's grid: GET price-presets with a combo size and a total. Every field is always present; nulls are null. */
1242
+ type BuilderGridStatus = 'ok' | 'miss' | 'paused';
1243
+ interface BuilderGridPayload {
1244
+ status: BuilderGridStatus;
1245
+ sport: string;
1246
+ requestedLegs: number;
1247
+ totalTarget: string;
1248
+ widened: boolean;
1249
+ total: number | null;
1250
+ multiplication: string | null;
1251
+ legs: ComboLeg[];
1252
+ legCountThatLands: number | null;
1253
+ }
1254
+ /** `total` and the combo size are the visitor's control state; the server decides what lands. */
1255
+ interface BuilderGridRequest {
1256
+ sport: string;
1257
+ marketKey?: string | null;
1258
+ matchIds: string[];
1259
+ legs: number;
1260
+ total: string;
1261
+ widen: boolean;
1262
+ operatorUserId?: string;
1263
+ anonymousUserId?: string;
1264
+ }
1265
+ /** Favourites tab. `id` is opaque to the widget (sport-qualified upstream: `nba:team:14`; football is bare). */
1266
+ type FavouriteKind = 'competition' | 'team' | 'player';
1267
+ interface FavouriteEntity {
1268
+ kind: FavouriteKind;
1269
+ id: string;
1270
+ name: string;
1271
+ imageUrl?: string;
1272
+ /** Players only. */
1273
+ teamName?: string;
1274
+ /** Search results only. */
1275
+ starred?: boolean;
1276
+ }
1277
+ interface FavouritesPayload {
1278
+ competitions: FavouriteEntity[];
1279
+ teams: FavouriteEntity[];
1280
+ players: FavouriteEntity[];
1281
+ /** Always present; teams and players only. */
1282
+ suggestions: FavouriteEntity[];
1283
+ }
1284
+ /** The list call's answer when the server refuses the visitor's ids (400 NoAcceptedIdentity): the brand has anonymous ids off. */
1285
+ type FavouritesNoIdentity = 'noAcceptedIdentity';
1286
+ type FavouriteStarResult = 'starred' | 'alreadyStarred' | 'atCap';
1287
+ interface FavouriteStarResponse {
1288
+ status: FavouriteStarResult;
1289
+ count?: number;
1290
+ cap?: number;
1291
+ }
1111
1292
  interface AvailableMarket {
1112
1293
  marketDeveloperName: string;
1113
1294
  marketLabel: string;
@@ -1230,6 +1411,8 @@ interface OddsMovementCard {
1230
1411
  matchOddsId?: number | null;
1231
1412
  /** Server-rendered kickoff chip in the operator's zone + language. Prefer over local formatting of kickoffUtc. */
1232
1413
  kickoffLabel?: string | null;
1414
+ /** The selection as the widget shows it, when selectionLabel and line would not read right joined. selectionLabel and line stay raw for the pin, history and slip. */
1415
+ displayLabel?: string | null;
1233
1416
  [key: string]: unknown;
1234
1417
  }
1235
1418
  interface OddsMovementEventData {
@@ -1256,6 +1439,8 @@ interface LiveMonitorStatPrice {
1256
1439
  matchOddsId?: number | null;
1257
1440
  isSuspended: boolean;
1258
1441
  addToSlipEnabled: boolean;
1442
+ /** The chip's selection text as the visitor should read it; `selectionLabel` is still what the slip gets. */
1443
+ displayLabel?: string | null;
1259
1444
  }
1260
1445
  interface LiveMonitorStatRow {
1261
1446
  label: string;
@@ -1815,8 +2000,15 @@ declare class Conversation {
1815
2000
  getMarketOdds(matchId: number, marketDeveloperName: string, sport?: SlipSport): Promise<MarketOddsBlock | null>;
1816
2001
  getPlayerProps(matchId: number, sport?: 'americanfootball'): Promise<PlayerPropsBundle | null>;
1817
2002
  getPricePresets(locale: string, options?: PresetGridOptions): Promise<PresetGrid | null>;
2003
+ getBuilderGrid(locale: string, req: BuilderGridRequest): Promise<BuilderGridPayload | null>;
1818
2004
  getSchedule(localDate: string, utcOffsetMinutes: number, operatorUserId?: string, anonymousUserId?: string): Promise<SchedulePayload | null>;
1819
2005
  starLeague(competitionId: number, starred: boolean, operatorUserId?: string, anonymousUserId?: string): Promise<LeagueStarResult | null>;
2006
+ getFavourites(sport: string, operatorUserId?: string, anonymousUserId?: string): Promise<FavouritesPayload | FavouritesNoIdentity | null>;
2007
+ searchFavourites(sport: string, query: string, kind: FavouriteKind, operatorUserId?: string, anonymousUserId?: string): Promise<FavouriteEntity[] | null>;
2008
+ putFavourite(kind: FavouriteKind, id: string, operatorUserId?: string, anonymousUserId?: string): Promise<FavouriteStarResponse | null>;
2009
+ deleteFavourite(kind: FavouriteKind, id: string, operatorUserId?: string, anonymousUserId?: string): Promise<boolean>;
2010
+ clearFavourites(sport: string, operatorUserId?: string, anonymousUserId?: string): Promise<boolean>;
2011
+ hideFavourite(kind: FavouriteKind, id: string, operatorUserId?: string, anonymousUserId?: string): Promise<boolean>;
1820
2012
  getStates(matchIds: number[], nbaGameIds?: number[], nflGameIds?: number[]): Promise<StatesPayload | null>;
1821
2013
  getGames(gameDay?: string): Promise<GameListPayload | null>;
1822
2014
  getGameConfig(gameId: string, fixtureId?: number, gameDay?: string, locale?: string): Promise<GameStatePayload | null>;
@@ -1831,13 +2023,21 @@ declare class Conversation {
1831
2023
  getClubRecords(limit?: number): Promise<ClubRecordsPayload | null>;
1832
2024
  }
1833
2025
 
1834
- type WidgetEntityEventName = 'pin_add' | 'pin_remove' | 'slip_click' | 'slip_result' | 'insight_expand' | 'tile_tap' | 'chip_tap' | 'slip_remove' | 'bet_placed' | 'match_view' | 'match_open';
2026
+ type WidgetEntityEventName = 'pin_add' | 'pin_remove' | 'slip_click' | 'slip_result' | 'insight_expand' | 'tile_tap' | 'chip_tap' | 'slip_remove' | 'bet_placed' | 'match_view' | 'match_open' | 'combo_add';
1835
2027
  type WidgetPopupEventName = 'popup_shown' | 'popup_opened' | 'popup_dismissed';
1836
2028
  type WidgetPopupAskEventName = 'popup_ask_tap';
1837
2029
  type WidgetOpenEventName = 'widget_open';
1838
2030
  type WidgetSportSwitchEventName = 'dashboard_sport_switch';
1839
2031
  type WidgetEventName = WidgetEntityEventName | WidgetPopupEventName | WidgetPopupAskEventName | WidgetOpenEventName | WidgetSportSwitchEventName;
1840
2032
  type WidgetEntityType = 'match' | 'team' | 'player' | 'competition' | 'market';
2033
+ /** `totalChosen` is the visitor's total control as a string on the wire; `totalActual` is the server's total for the shown combo. */
2034
+ interface ComboAddMetadata {
2035
+ sport: string;
2036
+ legs: number;
2037
+ totalChosen: 'any' | '3' | '5' | '10' | '20' | '50';
2038
+ totalActual: number;
2039
+ markets: string[];
2040
+ }
1841
2041
  interface WidgetEventInput {
1842
2042
  name: WidgetEntityEventName;
1843
2043
  entityType: WidgetEntityType;
@@ -1855,6 +2055,8 @@ interface WidgetEventInput {
1855
2055
  odds?: number;
1856
2056
  /** Wire sport key ('nba'); absent means football. */
1857
2057
  sport?: string;
2058
+ /** combo_add only: what the visitor asked for and what the server returned. */
2059
+ metadata?: ComboAddMetadata;
1858
2060
  }
1859
2061
  /** Launcher popup telemetry: counted server-side, never tied to an entity. */
1860
2062
  type WidgetPopupEventInput = {
@@ -1960,4 +2162,4 @@ interface NdjsonParser {
1960
2162
  }
1961
2163
  declare function createNdjsonParser(): NdjsonParser;
1962
2164
 
1963
- export { type ActionButtonEventData, type ActionsLoadingEventData, type AddToSlipHandler, type AddToSlipRejectReason, type AddToSlipResult, type AllTimeRow, type AnswerEventData, AuthError, type AvailableMarket, type BettingInsight, type BettingInsightEventData, type BettingInsightOdds, type ChatCallbacks, type ChatEvent, type ChatGrounding, type ChatHandle, type ChatInput, type ChatPreset, type ClubFanDashboardCard, type ClubFanDashboardHeadToHead, type ClubFanDashboardPayload, type ClubFixture, type ClubFixturesPayload, type ClubMatchLogRow, type ClubNextFixture, type ClubPerformanceMetric, type ClubPlayerAvailability, type ClubPlayerAvailabilityStatus, type ClubPlayerDetailPayload, type ClubPlayerPerformance, type ClubPlayerSeasonStats, type ClubRecordEntry, type ClubRecordsPayload, type ClubSquadPayload, type ClubSquadPlayer, type ClubSquadStatsPayload, type ClubStandingRow, type ClubStandingsPayload, type ComboCard, type ComboCardEventData, type ComboLeg, type ComboReplacedLeg, type CongestedWeekCard, type CongestedWeekData, type CongestedWeekEntry, Conversation, type CountdownCard, type CountdownData, ENTITY_TYPE_CODES, type EntityCard, type EntityCardEventData, type EntityCardScope, type EntityCardStat, type EventBatch, type EventLogger, type EventLoggerOptions, type FetchLike, type FixtureCard, type FixtureCardData, ForbiddenError, type FormAndH2H, type FormMatch, type GameListPayload, type GameResultPayload, type GameStatePayload, type GameSummary, type GreetingDashboard, type GreetingDashboardLayout, type GreetingDashboardSet, type GreetingDashboardSignalRef, type GreetingDashboardSpan, type GreetingDashboardTile, type GreetingDashboardTileEmphasis, type GreetingSetChip, type HeadToHead, type InjuriesCard, type InjuriesCardData, type InjuryRow, type IntentChipEventData, LIMIT_CODES, type LeaderboardChampion, type LeaderboardPayload, type LeaderboardRow, type LeagueStarResult, type LimitCode, type LimitDetails, LimitError, type LinkRow, type LinksCard, type LinksData, type LiveEventLine, type LiveMonitorAmericanFootball, type LiveMonitorBasketball, type LiveMonitorEvent, type LiveMonitorFact, type LiveMonitorMarket, type LiveMonitorMatch, type LiveMonitorSnapshot, type LiveMonitorStatPrice, type LiveMonitorStatRow, type LiveScoreCard, type LiveScoreData, type LiveStatRow, type LiveStatsCard, type LiveStatsData, type LiveTimelineCard, type LiveTimelineData, type MarketOddsBlock, type MarketOddsCard, type MarketOddsCardInsight, type MarketOddsEventData, type MarketOddsLiveBlock, type MarketOddsRow, type MatchState, type MomentumPoint, type MonitorPhase, type MonitorSport, type NbaCoHitEvidence, type NbaCoHitLeg, type NbaGameValue, type NbaInjuryEvent, type NbaInsight, type NbaInsightEventData, type NbaInsightSelection, type NbaJointGame, type NbaLadderEvidence, type NbaLadderRung, type NbaLadderStat, type NbaLineLane, type NbaLineMoveEvidence, type NbaLinePoint, type NbaListedTeammate, type NbaMatchupEvidence, type NbaMatchupPosition, type NbaMatchupTeam, type NbaPropReasonEvidence, type NbaQuarterLadderEvidence, type NbaQuarterRung, type NbaQuarterStat, type NbaSettleLine, type NbaSettlePlayer, type NbaSettleRecapEvidence, type NbaSettleSummary, type NbaSplitRow, type NbaTeammateOutEvidence, type NdjsonParser, NetworkError, type NflAtsGame, type NflAtsRecordEvidence, type NflForm, type NflFormGame, type NflInjuryPlayer, type NflInjuryReportEvidence, type NflInsight, type NflInsightEventData, type NflInsightKind, type NflInsightSelection, type NflLadderEvidence, type NflLadderRung, type NflLineMoveEvidence, type NflLineMoveLane, type NflMatchupEvidence, type NflPropReasonEvidence, type NflPropReasonGame, type NflSettleRecapEvidence, type NflSettleRecapLine, type NflSettleRecapPlayer, type NflSettleRecapSummary, type NonFootballSport, type OddsMovementCard, type OddsMovementEventData, type OddsMovementPoint, type PageContext, ParseError, type PinKind, type PinRef, type PlayerPropFact, type PlayerPropGame, type PlayerPropPrice, type PlayerPropStat, type PlayerPropStatGame, type PlayerPropsBundle, type PostMatchGoalLine, type PostMatchGoalsCard, type PostMatchGoalsData, type PostMatchNextCard, type PostMatchNextData, type PostMatchResultCard, type PostMatchResultData, type PostMatchStatRow, type PostMatchStatsCard, type PostMatchStatsData, type PostMatchTopPerformerCard, type PostMatchTopPerformerData, type PresetComboCell, type PresetGrid, type PresetGridOptions, type PresetMarketCell, type PresetPick, type PresetSinglesCell, type ProgressEventData, type QualifiedType, RateLimitError, type ReasonToBetCard, type ReasonToBetData, type RestingFormCard, type RestingFormData, type RestingNextCard, type RestingNextData, type RestingSeasonCard, type RestingSeasonData, type RestingStandingsCard, type RestingStandingsData, SIGNAL_TYPE_CODES, SPORTS, type ScheduleGroup, type ScheduleMatch, type SchedulePayload, type ScheduleSport, type SignalEntityType, type SignalInput, type SignalType, type SlipSelection, type SlipSport, type SportSpec, type StatesPayload, StatsWidgetClient, type StatsWidgetClientOptions, type StreamErrorEventData, type SubmitPlayBody, type SubmitPlayResult, type TransferRow, type TransfersCard, type TransfersData, type TurnCompleteEventData, UpstreamError, type UserContext, type WhereToWatchCard, type WhereToWatchData, type WidgetEntityEventName, type WidgetEntityType, type WidgetEventInput, type WidgetEventName, type WidgetLogInput, type WidgetOpenEventInput, type WidgetOpenEventName, type WidgetPopupAskEventInput, type WidgetPopupAskEventName, type WidgetPopupEventInput, type WidgetPopupEventName, WidgetSdkError, type WidgetSportSwitchEventInput, type WidgetSportSwitchEventName, type WireEvent, type WireSport, createEventLogger, createNdjsonParser, fromWireSport, isAddToSlipResult, isLimitCode, matchKey, mayPinOrSlip, qualifiedId, slipSportOf, sportOf, toWireSport };
2165
+ export { type ActionButtonEventData, type ActionsLoadingEventData, type AddToSlipHandler, type AddToSlipRejectReason, type AddToSlipResult, type AllTimeRow, type AnswerEventData, AuthError, type AvailableMarket, type BettingInsight, type BettingInsightEventData, type BettingInsightOdds, type BuilderGridPayload, type BuilderGridRequest, type BuilderGridStatus, type ChatCallbacks, type ChatEvent, type ChatGrounding, type ChatHandle, type ChatInput, type ChatPreset, type ClubFanDashboardCard, type ClubFanDashboardHeadToHead, type ClubFanDashboardPayload, type ClubFixture, type ClubFixturesPayload, type ClubMatchLogRow, type ClubNextFixture, type ClubPerformanceMetric, type ClubPlayerAvailability, type ClubPlayerAvailabilityStatus, type ClubPlayerDetailPayload, type ClubPlayerPerformance, type ClubPlayerSeasonStats, type ClubRecordEntry, type ClubRecordsPayload, type ClubSquadPayload, type ClubSquadPlayer, type ClubSquadStatsPayload, type ClubStandingRow, type ClubStandingsPayload, type ComboAddMetadata, type ComboCard, type ComboCardEventData, type ComboLeg, type ComboReplacedLeg, type CongestedWeekCard, type CongestedWeekData, type CongestedWeekEntry, Conversation, type CountdownCard, type CountdownData, ENTITY_TYPE_CODES, type EntityCard, type EntityCardEventData, type EntityCardScope, type EntityCardStat, type EventBatch, type EventLogger, type EventLoggerOptions, type FavouriteEntity, type FavouriteKind, type FavouriteStarResponse, type FavouriteStarResult, type FavouritesNoIdentity, type FavouritesPayload, type FetchLike, type FixtureCard, type FixtureCardData, ForbiddenError, type FormAndH2H, type FormMatch, type GameListPayload, type GameResultPayload, type GameStatePayload, type GameSummary, type GreetingBuilderPreset, type GreetingDashboard, type GreetingDashboardLayout, type GreetingDashboardSet, type GreetingDashboardSignalRef, type GreetingDashboardSpan, type GreetingDashboardTile, type GreetingDashboardTileEmphasis, type GreetingEntityChip, type GreetingEntityKind, type GreetingFormResult, type GreetingGamesOption, type GreetingGamesScope, type GreetingIdleTeam, type GreetingMarketOption, type GreetingPersonalSection, type GreetingPersonalTier, type GreetingPlayerCard, type GreetingPlayerHit, type GreetingPlayerStatus, type GreetingSetChip, type GreetingTeamCard, type HeadToHead, type InjuriesCard, type InjuriesCardData, type InjuryRow, type IntentChipEventData, LIMIT_CODES, type LeaderboardChampion, type LeaderboardPayload, type LeaderboardRow, type LeagueStarResult, type LimitCode, type LimitDetails, LimitError, type LinkRow, type LinksCard, type LinksData, type LiveEventLine, type LiveMonitorAmericanFootball, type LiveMonitorBasketball, type LiveMonitorEvent, type LiveMonitorFact, type LiveMonitorMarket, type LiveMonitorMatch, type LiveMonitorSnapshot, type LiveMonitorStatPrice, type LiveMonitorStatRow, type LiveScoreCard, type LiveScoreData, type LiveStatRow, type LiveStatsCard, type LiveStatsData, type LiveTimelineCard, type LiveTimelineData, type MarketOddsBlock, type MarketOddsCard, type MarketOddsCardInsight, type MarketOddsEventData, type MarketOddsLiveBlock, type MarketOddsRow, type MatchState, type MomentumPoint, type MonitorPhase, type MonitorSport, type NbaCoHitEvidence, type NbaCoHitLeg, type NbaGameValue, type NbaInjuryEvent, type NbaInsight, type NbaInsightEventData, type NbaInsightSelection, type NbaJointGame, type NbaLadderEvidence, type NbaLadderRung, type NbaLadderStat, type NbaLineLane, type NbaLineMoveEvidence, type NbaLinePoint, type NbaListedTeammate, type NbaMatchupEvidence, type NbaMatchupPosition, type NbaMatchupTeam, type NbaPropReasonEvidence, type NbaQuarterLadderEvidence, type NbaQuarterRung, type NbaQuarterStat, type NbaSettleLine, type NbaSettlePlayer, type NbaSettleRecapEvidence, type NbaSettleSummary, type NbaSplitRow, type NbaTeammateOutEvidence, type NdjsonParser, NetworkError, type NflAtsGame, type NflAtsRecordEvidence, type NflForm, type NflFormGame, type NflInjuryPlayer, type NflInjuryReportEvidence, type NflInsight, type NflInsightEventData, type NflInsightKind, type NflInsightSelection, type NflLadderEvidence, type NflLadderRung, type NflLineMoveEvidence, type NflLineMoveLane, type NflMatchupEvidence, type NflPropReasonEvidence, type NflPropReasonGame, type NflSettleRecapEvidence, type NflSettleRecapLine, type NflSettleRecapPlayer, type NflSettleRecapSummary, type NonFootballSport, type OddsMovementCard, type OddsMovementEventData, type OddsMovementPoint, type PageContext, ParseError, type PinKind, type PinRef, type PlayerPropFact, type PlayerPropGame, type PlayerPropPrice, type PlayerPropStat, type PlayerPropStatGame, type PlayerPropsBundle, type PostMatchGoalLine, type PostMatchGoalsCard, type PostMatchGoalsData, type PostMatchNextCard, type PostMatchNextData, type PostMatchResultCard, type PostMatchResultData, type PostMatchStatRow, type PostMatchStatsCard, type PostMatchStatsData, type PostMatchTopPerformerCard, type PostMatchTopPerformerData, type PresetComboCell, type PresetGrid, type PresetGridOptions, type PresetMarketCell, type PresetPick, type PresetSinglesCell, type ProgressEventData, type QualifiedType, RateLimitError, type ReasonToBetCard, type ReasonToBetData, type RestingFormCard, type RestingFormData, type RestingNextCard, type RestingNextData, type RestingSeasonCard, type RestingSeasonData, type RestingStandingsCard, type RestingStandingsData, SIGNAL_TYPE_CODES, SPORTS, type ScheduleGroup, type ScheduleMatch, type SchedulePayload, type ScheduleSport, type SignalEntityType, type SignalInput, type SignalType, type SlipSelection, type SlipSport, type SportSpec, type StatesPayload, StatsWidgetClient, type StatsWidgetClientOptions, type StreamErrorEventData, type SubmitPlayBody, type SubmitPlayResult, type TransferRow, type TransfersCard, type TransfersData, type TurnCompleteEventData, UpstreamError, type UserContext, type WhereToWatchCard, type WhereToWatchData, type WidgetEntityEventName, type WidgetEntityType, type WidgetEventInput, type WidgetEventName, type WidgetLogInput, type WidgetOpenEventInput, type WidgetOpenEventName, type WidgetPopupAskEventInput, type WidgetPopupAskEventName, type WidgetPopupEventInput, type WidgetPopupEventName, WidgetSdkError, type WidgetSportSwitchEventInput, type WidgetSportSwitchEventName, type WireEvent, type WireSport, createEventLogger, createNdjsonParser, fromWireSport, isAddToSlipResult, isLimitCode, matchKey, mayPinOrSlip, qualifiedId, slipSportOf, sportOf, toWireSport };
package/dist/index.d.ts CHANGED
@@ -154,6 +154,134 @@ interface GreetingDashboard {
154
154
  subtitle?: string | null;
155
155
  footerTip?: string | null;
156
156
  tiles: GreetingDashboardTile[];
157
+ /** Per-visitor layer. Absent when the server has nothing to add. */
158
+ personal?: GreetingPersonalSection;
159
+ }
160
+ type GreetingPersonalTier = 'cold' | 'some' | 'known';
161
+ type GreetingEntityKind = 'competition' | 'team' | 'player' | 'match';
162
+ type GreetingGamesScope = 'page' | 'pinned' | 'starredTeams' | 'starredLeagues' | 'learnedTeam' | 'all';
163
+ interface GreetingEntityChip {
164
+ kind: GreetingEntityKind;
165
+ id: string;
166
+ label: string;
167
+ playing: boolean;
168
+ }
169
+ interface GreetingPersonalSection {
170
+ tier: GreetingPersonalTier;
171
+ ribbon?: {
172
+ stars: GreetingEntityChip[];
173
+ moreStars: number;
174
+ usual?: {
175
+ marketKey: string;
176
+ label: string;
177
+ };
178
+ fromChats: GreetingEntityChip[];
179
+ };
180
+ /** followTargets: the team or player itself, or both teams of a pinned match; may be empty. One Follow button per entry. */
181
+ guess?: {
182
+ kind: GreetingEntityKind;
183
+ id: string;
184
+ label: string;
185
+ reason: string;
186
+ followTargets: GreetingEntityChip[];
187
+ card?: GreetingTeamCard;
188
+ };
189
+ /** Absent in cool-off only; with no key it is the default preset (pack's first market, all games, singles). legs 1 = singles. matchIds: bare ids, max 12; send an empty list with gamesScope 'all' to the grid endpoint as widen=true. The only place combo size and total travel; render as control state, never as text. */
190
+ builder?: GreetingBuilderPreset;
191
+ teamCards: GreetingTeamCard[];
192
+ playerCards: GreetingPlayerCard[];
193
+ facts: {
194
+ marketKey: string;
195
+ text: string;
196
+ hits: number;
197
+ window: number;
198
+ matchId?: string;
199
+ }[];
200
+ asks: {
201
+ actionLabel: string;
202
+ actionValue: string;
203
+ }[];
204
+ since: {
205
+ text: string;
206
+ }[];
207
+ followSuggestions: GreetingEntityChip[];
208
+ /** Starred teams with no game in the window, at most 2. */
209
+ idleTeams?: GreetingIdleTeam[];
210
+ }
211
+ interface GreetingBuilderPreset {
212
+ marketKey: string;
213
+ gamesScope: GreetingGamesScope;
214
+ matchIds: string[];
215
+ legs: number;
216
+ totalTarget: string;
217
+ /** The visitor's usual market first, then pack order. Absent from older servers; never empty when present. */
218
+ marketOptions?: GreetingMarketOption[];
219
+ /** Option ids: 'all' (matchIds [] means widen), 'teams', 'leagues', 'learned', 'league:<id>', 'game:<id>'. Absent from older servers. */
220
+ gamesOptions?: GreetingGamesOption[];
221
+ /** The option the preset opens on. */
222
+ gamesOptionId?: string;
223
+ /** A short localized line about when games return ("Next games tomorrow."); shown with the pause note. Omitted when the server has nothing to say. */
224
+ nextGames?: string | null;
225
+ /** True or absent, never false: the visitor's usual market had no lines in the first-choice games, so the games slot moved wider (C13). */
226
+ widenedForMarket?: true;
227
+ }
228
+ interface GreetingMarketOption {
229
+ key: string;
230
+ label: string;
231
+ usual?: boolean;
232
+ }
233
+ interface GreetingGamesOption {
234
+ id: string;
235
+ label: string;
236
+ group?: 'league' | 'game';
237
+ matchIds: string[];
238
+ startsAtUtc?: string;
239
+ mine?: boolean;
240
+ }
241
+ interface GreetingIdleTeam {
242
+ teamId: string;
243
+ label: string;
244
+ actionLabel: string;
245
+ actionValue: string;
246
+ }
247
+ type GreetingFormResult = 'W' | 'D' | 'L';
248
+ /** `lines` stays on the wire for older widgets; the widget never draws a team card's lines. `h2h.wins` are the home side's. */
249
+ interface GreetingTeamCard {
250
+ teamId: string;
251
+ label: string;
252
+ matchId?: string;
253
+ form: GreetingFormResult[];
254
+ h2h?: {
255
+ meetings: number;
256
+ wins: number;
257
+ draws: number;
258
+ losses: number;
259
+ };
260
+ lines: string[];
261
+ homeLabel?: string;
262
+ awayLabel?: string;
263
+ homeForm?: GreetingFormResult[];
264
+ awayForm?: GreetingFormResult[];
265
+ startsAtUtc?: string;
266
+ competitionLabel?: string;
267
+ fact?: string;
268
+ }
269
+ type GreetingPlayerStatus = 'available' | 'doubtful' | 'out' | 'unknown';
270
+ interface GreetingPlayerHit {
271
+ label: string;
272
+ hits: number;
273
+ window: number;
274
+ }
275
+ /** `lines` stays on the wire for older widgets: drawn only when `hits` is absent. */
276
+ interface GreetingPlayerCard {
277
+ playerId: string;
278
+ label: string;
279
+ status: GreetingPlayerStatus;
280
+ statusAsOfUtc?: string;
281
+ lines: string[];
282
+ hits?: GreetingPlayerHit[];
283
+ matchLabel?: string;
284
+ startsAtUtc?: string;
157
285
  }
158
286
  /** One sport's dashboard in a multi-sport greeting. `sport` is the server key ("football", "nba"); `label` is localized by the server. */
159
287
  interface GreetingDashboardSet {
@@ -936,6 +1064,8 @@ interface MarketOddsRow {
936
1064
  isMainLine?: boolean;
937
1065
  /** The bookmaker is not taking this selection. Absent on older servers -> treated as open. */
938
1066
  isSuspended?: boolean;
1067
+ /** The selection text exactly as the visitor should read it. Present only when it differs from `selectionLabel` + `line`, which the slip keeps getting raw. */
1068
+ displayLabel?: string | null;
939
1069
  previousPrice?: number | null;
940
1070
  previousPriceAtUtc?: string | null;
941
1071
  movementDirection?: 'shortened' | 'drifted' | null;
@@ -1108,6 +1238,57 @@ interface PresetGrid {
1108
1238
  markets?: PresetMarketCell[];
1109
1239
  [key: string]: unknown;
1110
1240
  }
1241
+ /** The sentence builder's grid: GET price-presets with a combo size and a total. Every field is always present; nulls are null. */
1242
+ type BuilderGridStatus = 'ok' | 'miss' | 'paused';
1243
+ interface BuilderGridPayload {
1244
+ status: BuilderGridStatus;
1245
+ sport: string;
1246
+ requestedLegs: number;
1247
+ totalTarget: string;
1248
+ widened: boolean;
1249
+ total: number | null;
1250
+ multiplication: string | null;
1251
+ legs: ComboLeg[];
1252
+ legCountThatLands: number | null;
1253
+ }
1254
+ /** `total` and the combo size are the visitor's control state; the server decides what lands. */
1255
+ interface BuilderGridRequest {
1256
+ sport: string;
1257
+ marketKey?: string | null;
1258
+ matchIds: string[];
1259
+ legs: number;
1260
+ total: string;
1261
+ widen: boolean;
1262
+ operatorUserId?: string;
1263
+ anonymousUserId?: string;
1264
+ }
1265
+ /** Favourites tab. `id` is opaque to the widget (sport-qualified upstream: `nba:team:14`; football is bare). */
1266
+ type FavouriteKind = 'competition' | 'team' | 'player';
1267
+ interface FavouriteEntity {
1268
+ kind: FavouriteKind;
1269
+ id: string;
1270
+ name: string;
1271
+ imageUrl?: string;
1272
+ /** Players only. */
1273
+ teamName?: string;
1274
+ /** Search results only. */
1275
+ starred?: boolean;
1276
+ }
1277
+ interface FavouritesPayload {
1278
+ competitions: FavouriteEntity[];
1279
+ teams: FavouriteEntity[];
1280
+ players: FavouriteEntity[];
1281
+ /** Always present; teams and players only. */
1282
+ suggestions: FavouriteEntity[];
1283
+ }
1284
+ /** The list call's answer when the server refuses the visitor's ids (400 NoAcceptedIdentity): the brand has anonymous ids off. */
1285
+ type FavouritesNoIdentity = 'noAcceptedIdentity';
1286
+ type FavouriteStarResult = 'starred' | 'alreadyStarred' | 'atCap';
1287
+ interface FavouriteStarResponse {
1288
+ status: FavouriteStarResult;
1289
+ count?: number;
1290
+ cap?: number;
1291
+ }
1111
1292
  interface AvailableMarket {
1112
1293
  marketDeveloperName: string;
1113
1294
  marketLabel: string;
@@ -1230,6 +1411,8 @@ interface OddsMovementCard {
1230
1411
  matchOddsId?: number | null;
1231
1412
  /** Server-rendered kickoff chip in the operator's zone + language. Prefer over local formatting of kickoffUtc. */
1232
1413
  kickoffLabel?: string | null;
1414
+ /** The selection as the widget shows it, when selectionLabel and line would not read right joined. selectionLabel and line stay raw for the pin, history and slip. */
1415
+ displayLabel?: string | null;
1233
1416
  [key: string]: unknown;
1234
1417
  }
1235
1418
  interface OddsMovementEventData {
@@ -1256,6 +1439,8 @@ interface LiveMonitorStatPrice {
1256
1439
  matchOddsId?: number | null;
1257
1440
  isSuspended: boolean;
1258
1441
  addToSlipEnabled: boolean;
1442
+ /** The chip's selection text as the visitor should read it; `selectionLabel` is still what the slip gets. */
1443
+ displayLabel?: string | null;
1259
1444
  }
1260
1445
  interface LiveMonitorStatRow {
1261
1446
  label: string;
@@ -1815,8 +2000,15 @@ declare class Conversation {
1815
2000
  getMarketOdds(matchId: number, marketDeveloperName: string, sport?: SlipSport): Promise<MarketOddsBlock | null>;
1816
2001
  getPlayerProps(matchId: number, sport?: 'americanfootball'): Promise<PlayerPropsBundle | null>;
1817
2002
  getPricePresets(locale: string, options?: PresetGridOptions): Promise<PresetGrid | null>;
2003
+ getBuilderGrid(locale: string, req: BuilderGridRequest): Promise<BuilderGridPayload | null>;
1818
2004
  getSchedule(localDate: string, utcOffsetMinutes: number, operatorUserId?: string, anonymousUserId?: string): Promise<SchedulePayload | null>;
1819
2005
  starLeague(competitionId: number, starred: boolean, operatorUserId?: string, anonymousUserId?: string): Promise<LeagueStarResult | null>;
2006
+ getFavourites(sport: string, operatorUserId?: string, anonymousUserId?: string): Promise<FavouritesPayload | FavouritesNoIdentity | null>;
2007
+ searchFavourites(sport: string, query: string, kind: FavouriteKind, operatorUserId?: string, anonymousUserId?: string): Promise<FavouriteEntity[] | null>;
2008
+ putFavourite(kind: FavouriteKind, id: string, operatorUserId?: string, anonymousUserId?: string): Promise<FavouriteStarResponse | null>;
2009
+ deleteFavourite(kind: FavouriteKind, id: string, operatorUserId?: string, anonymousUserId?: string): Promise<boolean>;
2010
+ clearFavourites(sport: string, operatorUserId?: string, anonymousUserId?: string): Promise<boolean>;
2011
+ hideFavourite(kind: FavouriteKind, id: string, operatorUserId?: string, anonymousUserId?: string): Promise<boolean>;
1820
2012
  getStates(matchIds: number[], nbaGameIds?: number[], nflGameIds?: number[]): Promise<StatesPayload | null>;
1821
2013
  getGames(gameDay?: string): Promise<GameListPayload | null>;
1822
2014
  getGameConfig(gameId: string, fixtureId?: number, gameDay?: string, locale?: string): Promise<GameStatePayload | null>;
@@ -1831,13 +2023,21 @@ declare class Conversation {
1831
2023
  getClubRecords(limit?: number): Promise<ClubRecordsPayload | null>;
1832
2024
  }
1833
2025
 
1834
- type WidgetEntityEventName = 'pin_add' | 'pin_remove' | 'slip_click' | 'slip_result' | 'insight_expand' | 'tile_tap' | 'chip_tap' | 'slip_remove' | 'bet_placed' | 'match_view' | 'match_open';
2026
+ type WidgetEntityEventName = 'pin_add' | 'pin_remove' | 'slip_click' | 'slip_result' | 'insight_expand' | 'tile_tap' | 'chip_tap' | 'slip_remove' | 'bet_placed' | 'match_view' | 'match_open' | 'combo_add';
1835
2027
  type WidgetPopupEventName = 'popup_shown' | 'popup_opened' | 'popup_dismissed';
1836
2028
  type WidgetPopupAskEventName = 'popup_ask_tap';
1837
2029
  type WidgetOpenEventName = 'widget_open';
1838
2030
  type WidgetSportSwitchEventName = 'dashboard_sport_switch';
1839
2031
  type WidgetEventName = WidgetEntityEventName | WidgetPopupEventName | WidgetPopupAskEventName | WidgetOpenEventName | WidgetSportSwitchEventName;
1840
2032
  type WidgetEntityType = 'match' | 'team' | 'player' | 'competition' | 'market';
2033
+ /** `totalChosen` is the visitor's total control as a string on the wire; `totalActual` is the server's total for the shown combo. */
2034
+ interface ComboAddMetadata {
2035
+ sport: string;
2036
+ legs: number;
2037
+ totalChosen: 'any' | '3' | '5' | '10' | '20' | '50';
2038
+ totalActual: number;
2039
+ markets: string[];
2040
+ }
1841
2041
  interface WidgetEventInput {
1842
2042
  name: WidgetEntityEventName;
1843
2043
  entityType: WidgetEntityType;
@@ -1855,6 +2055,8 @@ interface WidgetEventInput {
1855
2055
  odds?: number;
1856
2056
  /** Wire sport key ('nba'); absent means football. */
1857
2057
  sport?: string;
2058
+ /** combo_add only: what the visitor asked for and what the server returned. */
2059
+ metadata?: ComboAddMetadata;
1858
2060
  }
1859
2061
  /** Launcher popup telemetry: counted server-side, never tied to an entity. */
1860
2062
  type WidgetPopupEventInput = {
@@ -1960,4 +2162,4 @@ interface NdjsonParser {
1960
2162
  }
1961
2163
  declare function createNdjsonParser(): NdjsonParser;
1962
2164
 
1963
- export { type ActionButtonEventData, type ActionsLoadingEventData, type AddToSlipHandler, type AddToSlipRejectReason, type AddToSlipResult, type AllTimeRow, type AnswerEventData, AuthError, type AvailableMarket, type BettingInsight, type BettingInsightEventData, type BettingInsightOdds, type ChatCallbacks, type ChatEvent, type ChatGrounding, type ChatHandle, type ChatInput, type ChatPreset, type ClubFanDashboardCard, type ClubFanDashboardHeadToHead, type ClubFanDashboardPayload, type ClubFixture, type ClubFixturesPayload, type ClubMatchLogRow, type ClubNextFixture, type ClubPerformanceMetric, type ClubPlayerAvailability, type ClubPlayerAvailabilityStatus, type ClubPlayerDetailPayload, type ClubPlayerPerformance, type ClubPlayerSeasonStats, type ClubRecordEntry, type ClubRecordsPayload, type ClubSquadPayload, type ClubSquadPlayer, type ClubSquadStatsPayload, type ClubStandingRow, type ClubStandingsPayload, type ComboCard, type ComboCardEventData, type ComboLeg, type ComboReplacedLeg, type CongestedWeekCard, type CongestedWeekData, type CongestedWeekEntry, Conversation, type CountdownCard, type CountdownData, ENTITY_TYPE_CODES, type EntityCard, type EntityCardEventData, type EntityCardScope, type EntityCardStat, type EventBatch, type EventLogger, type EventLoggerOptions, type FetchLike, type FixtureCard, type FixtureCardData, ForbiddenError, type FormAndH2H, type FormMatch, type GameListPayload, type GameResultPayload, type GameStatePayload, type GameSummary, type GreetingDashboard, type GreetingDashboardLayout, type GreetingDashboardSet, type GreetingDashboardSignalRef, type GreetingDashboardSpan, type GreetingDashboardTile, type GreetingDashboardTileEmphasis, type GreetingSetChip, type HeadToHead, type InjuriesCard, type InjuriesCardData, type InjuryRow, type IntentChipEventData, LIMIT_CODES, type LeaderboardChampion, type LeaderboardPayload, type LeaderboardRow, type LeagueStarResult, type LimitCode, type LimitDetails, LimitError, type LinkRow, type LinksCard, type LinksData, type LiveEventLine, type LiveMonitorAmericanFootball, type LiveMonitorBasketball, type LiveMonitorEvent, type LiveMonitorFact, type LiveMonitorMarket, type LiveMonitorMatch, type LiveMonitorSnapshot, type LiveMonitorStatPrice, type LiveMonitorStatRow, type LiveScoreCard, type LiveScoreData, type LiveStatRow, type LiveStatsCard, type LiveStatsData, type LiveTimelineCard, type LiveTimelineData, type MarketOddsBlock, type MarketOddsCard, type MarketOddsCardInsight, type MarketOddsEventData, type MarketOddsLiveBlock, type MarketOddsRow, type MatchState, type MomentumPoint, type MonitorPhase, type MonitorSport, type NbaCoHitEvidence, type NbaCoHitLeg, type NbaGameValue, type NbaInjuryEvent, type NbaInsight, type NbaInsightEventData, type NbaInsightSelection, type NbaJointGame, type NbaLadderEvidence, type NbaLadderRung, type NbaLadderStat, type NbaLineLane, type NbaLineMoveEvidence, type NbaLinePoint, type NbaListedTeammate, type NbaMatchupEvidence, type NbaMatchupPosition, type NbaMatchupTeam, type NbaPropReasonEvidence, type NbaQuarterLadderEvidence, type NbaQuarterRung, type NbaQuarterStat, type NbaSettleLine, type NbaSettlePlayer, type NbaSettleRecapEvidence, type NbaSettleSummary, type NbaSplitRow, type NbaTeammateOutEvidence, type NdjsonParser, NetworkError, type NflAtsGame, type NflAtsRecordEvidence, type NflForm, type NflFormGame, type NflInjuryPlayer, type NflInjuryReportEvidence, type NflInsight, type NflInsightEventData, type NflInsightKind, type NflInsightSelection, type NflLadderEvidence, type NflLadderRung, type NflLineMoveEvidence, type NflLineMoveLane, type NflMatchupEvidence, type NflPropReasonEvidence, type NflPropReasonGame, type NflSettleRecapEvidence, type NflSettleRecapLine, type NflSettleRecapPlayer, type NflSettleRecapSummary, type NonFootballSport, type OddsMovementCard, type OddsMovementEventData, type OddsMovementPoint, type PageContext, ParseError, type PinKind, type PinRef, type PlayerPropFact, type PlayerPropGame, type PlayerPropPrice, type PlayerPropStat, type PlayerPropStatGame, type PlayerPropsBundle, type PostMatchGoalLine, type PostMatchGoalsCard, type PostMatchGoalsData, type PostMatchNextCard, type PostMatchNextData, type PostMatchResultCard, type PostMatchResultData, type PostMatchStatRow, type PostMatchStatsCard, type PostMatchStatsData, type PostMatchTopPerformerCard, type PostMatchTopPerformerData, type PresetComboCell, type PresetGrid, type PresetGridOptions, type PresetMarketCell, type PresetPick, type PresetSinglesCell, type ProgressEventData, type QualifiedType, RateLimitError, type ReasonToBetCard, type ReasonToBetData, type RestingFormCard, type RestingFormData, type RestingNextCard, type RestingNextData, type RestingSeasonCard, type RestingSeasonData, type RestingStandingsCard, type RestingStandingsData, SIGNAL_TYPE_CODES, SPORTS, type ScheduleGroup, type ScheduleMatch, type SchedulePayload, type ScheduleSport, type SignalEntityType, type SignalInput, type SignalType, type SlipSelection, type SlipSport, type SportSpec, type StatesPayload, StatsWidgetClient, type StatsWidgetClientOptions, type StreamErrorEventData, type SubmitPlayBody, type SubmitPlayResult, type TransferRow, type TransfersCard, type TransfersData, type TurnCompleteEventData, UpstreamError, type UserContext, type WhereToWatchCard, type WhereToWatchData, type WidgetEntityEventName, type WidgetEntityType, type WidgetEventInput, type WidgetEventName, type WidgetLogInput, type WidgetOpenEventInput, type WidgetOpenEventName, type WidgetPopupAskEventInput, type WidgetPopupAskEventName, type WidgetPopupEventInput, type WidgetPopupEventName, WidgetSdkError, type WidgetSportSwitchEventInput, type WidgetSportSwitchEventName, type WireEvent, type WireSport, createEventLogger, createNdjsonParser, fromWireSport, isAddToSlipResult, isLimitCode, matchKey, mayPinOrSlip, qualifiedId, slipSportOf, sportOf, toWireSport };
2165
+ export { type ActionButtonEventData, type ActionsLoadingEventData, type AddToSlipHandler, type AddToSlipRejectReason, type AddToSlipResult, type AllTimeRow, type AnswerEventData, AuthError, type AvailableMarket, type BettingInsight, type BettingInsightEventData, type BettingInsightOdds, type BuilderGridPayload, type BuilderGridRequest, type BuilderGridStatus, type ChatCallbacks, type ChatEvent, type ChatGrounding, type ChatHandle, type ChatInput, type ChatPreset, type ClubFanDashboardCard, type ClubFanDashboardHeadToHead, type ClubFanDashboardPayload, type ClubFixture, type ClubFixturesPayload, type ClubMatchLogRow, type ClubNextFixture, type ClubPerformanceMetric, type ClubPlayerAvailability, type ClubPlayerAvailabilityStatus, type ClubPlayerDetailPayload, type ClubPlayerPerformance, type ClubPlayerSeasonStats, type ClubRecordEntry, type ClubRecordsPayload, type ClubSquadPayload, type ClubSquadPlayer, type ClubSquadStatsPayload, type ClubStandingRow, type ClubStandingsPayload, type ComboAddMetadata, type ComboCard, type ComboCardEventData, type ComboLeg, type ComboReplacedLeg, type CongestedWeekCard, type CongestedWeekData, type CongestedWeekEntry, Conversation, type CountdownCard, type CountdownData, ENTITY_TYPE_CODES, type EntityCard, type EntityCardEventData, type EntityCardScope, type EntityCardStat, type EventBatch, type EventLogger, type EventLoggerOptions, type FavouriteEntity, type FavouriteKind, type FavouriteStarResponse, type FavouriteStarResult, type FavouritesNoIdentity, type FavouritesPayload, type FetchLike, type FixtureCard, type FixtureCardData, ForbiddenError, type FormAndH2H, type FormMatch, type GameListPayload, type GameResultPayload, type GameStatePayload, type GameSummary, type GreetingBuilderPreset, type GreetingDashboard, type GreetingDashboardLayout, type GreetingDashboardSet, type GreetingDashboardSignalRef, type GreetingDashboardSpan, type GreetingDashboardTile, type GreetingDashboardTileEmphasis, type GreetingEntityChip, type GreetingEntityKind, type GreetingFormResult, type GreetingGamesOption, type GreetingGamesScope, type GreetingIdleTeam, type GreetingMarketOption, type GreetingPersonalSection, type GreetingPersonalTier, type GreetingPlayerCard, type GreetingPlayerHit, type GreetingPlayerStatus, type GreetingSetChip, type GreetingTeamCard, type HeadToHead, type InjuriesCard, type InjuriesCardData, type InjuryRow, type IntentChipEventData, LIMIT_CODES, type LeaderboardChampion, type LeaderboardPayload, type LeaderboardRow, type LeagueStarResult, type LimitCode, type LimitDetails, LimitError, type LinkRow, type LinksCard, type LinksData, type LiveEventLine, type LiveMonitorAmericanFootball, type LiveMonitorBasketball, type LiveMonitorEvent, type LiveMonitorFact, type LiveMonitorMarket, type LiveMonitorMatch, type LiveMonitorSnapshot, type LiveMonitorStatPrice, type LiveMonitorStatRow, type LiveScoreCard, type LiveScoreData, type LiveStatRow, type LiveStatsCard, type LiveStatsData, type LiveTimelineCard, type LiveTimelineData, type MarketOddsBlock, type MarketOddsCard, type MarketOddsCardInsight, type MarketOddsEventData, type MarketOddsLiveBlock, type MarketOddsRow, type MatchState, type MomentumPoint, type MonitorPhase, type MonitorSport, type NbaCoHitEvidence, type NbaCoHitLeg, type NbaGameValue, type NbaInjuryEvent, type NbaInsight, type NbaInsightEventData, type NbaInsightSelection, type NbaJointGame, type NbaLadderEvidence, type NbaLadderRung, type NbaLadderStat, type NbaLineLane, type NbaLineMoveEvidence, type NbaLinePoint, type NbaListedTeammate, type NbaMatchupEvidence, type NbaMatchupPosition, type NbaMatchupTeam, type NbaPropReasonEvidence, type NbaQuarterLadderEvidence, type NbaQuarterRung, type NbaQuarterStat, type NbaSettleLine, type NbaSettlePlayer, type NbaSettleRecapEvidence, type NbaSettleSummary, type NbaSplitRow, type NbaTeammateOutEvidence, type NdjsonParser, NetworkError, type NflAtsGame, type NflAtsRecordEvidence, type NflForm, type NflFormGame, type NflInjuryPlayer, type NflInjuryReportEvidence, type NflInsight, type NflInsightEventData, type NflInsightKind, type NflInsightSelection, type NflLadderEvidence, type NflLadderRung, type NflLineMoveEvidence, type NflLineMoveLane, type NflMatchupEvidence, type NflPropReasonEvidence, type NflPropReasonGame, type NflSettleRecapEvidence, type NflSettleRecapLine, type NflSettleRecapPlayer, type NflSettleRecapSummary, type NonFootballSport, type OddsMovementCard, type OddsMovementEventData, type OddsMovementPoint, type PageContext, ParseError, type PinKind, type PinRef, type PlayerPropFact, type PlayerPropGame, type PlayerPropPrice, type PlayerPropStat, type PlayerPropStatGame, type PlayerPropsBundle, type PostMatchGoalLine, type PostMatchGoalsCard, type PostMatchGoalsData, type PostMatchNextCard, type PostMatchNextData, type PostMatchResultCard, type PostMatchResultData, type PostMatchStatRow, type PostMatchStatsCard, type PostMatchStatsData, type PostMatchTopPerformerCard, type PostMatchTopPerformerData, type PresetComboCell, type PresetGrid, type PresetGridOptions, type PresetMarketCell, type PresetPick, type PresetSinglesCell, type ProgressEventData, type QualifiedType, RateLimitError, type ReasonToBetCard, type ReasonToBetData, type RestingFormCard, type RestingFormData, type RestingNextCard, type RestingNextData, type RestingSeasonCard, type RestingSeasonData, type RestingStandingsCard, type RestingStandingsData, SIGNAL_TYPE_CODES, SPORTS, type ScheduleGroup, type ScheduleMatch, type SchedulePayload, type ScheduleSport, type SignalEntityType, type SignalInput, type SignalType, type SlipSelection, type SlipSport, type SportSpec, type StatesPayload, StatsWidgetClient, type StatsWidgetClientOptions, type StreamErrorEventData, type SubmitPlayBody, type SubmitPlayResult, type TransferRow, type TransfersCard, type TransfersData, type TurnCompleteEventData, UpstreamError, type UserContext, type WhereToWatchCard, type WhereToWatchData, type WidgetEntityEventName, type WidgetEntityType, type WidgetEventInput, type WidgetEventName, type WidgetLogInput, type WidgetOpenEventInput, type WidgetOpenEventName, type WidgetPopupAskEventInput, type WidgetPopupAskEventName, type WidgetPopupEventInput, type WidgetPopupEventName, WidgetSdkError, type WidgetSportSwitchEventInput, type WidgetSportSwitchEventName, type WireEvent, type WireSport, createEventLogger, createNdjsonParser, fromWireSport, isAddToSlipResult, isLimitCode, matchKey, mayPinOrSlip, qualifiedId, slipSportOf, sportOf, toWireSport };