import { W as WidgetOddsFormat, m as WidgetMarket } from './custom-elements-B8D_tJOO.js'; export { A as ApiEnvelope, E as EventCardVariant, n as PREDIX_EVENT_CARD_TAG, o as PREDIX_EVENT_CAROUSEL_TAG, p as PREDIX_EVENT_LIST_TAG, q as PREDIX_WIDGET_TAG, r as PredixBooleanAttribute, s as PredixClient, t as PredixClientOptions, u as PredixDisplayAttributes, j as PredixErrorDetail, d as PredixEventCard, e as PredixEventCardAttributes, b as PredixEventCarousel, c as PredixEventCarouselAttributes, P as PredixEventList, a as PredixEventListAttributes, i as PredixEventOpenRequestedDetail, v as PredixHostEventDetailMap, w as PredixNumberAttribute, h as PredixReadyDetail, x as PredixWidget, y as PredixWidgetError, z as PredixWidgetErrorOptions, B as PredixWidgetErrorType, k as PredixWidgetInitOptions, f as PredixWidgetProvider, g as PredixWidgetProviderAttributes, C as PredixWidgetProviderEventMap, T as TokenManager, D as TokenManagerOptions, F as WidgetCategory, s as WidgetClient, G as WidgetClientOptions, H as WidgetConfig, l as WidgetEvent, I as WidgetEventPage, J as WidgetEventPreset, K as WidgetEventQuery, L as WidgetEventSortBy, M as WidgetMarketResult, N as WidgetMarketStatus, O as WidgetOddsUpdate, Q as WidgetTheme, R as WidgetToken, S as WidgetTokenProvider, U as defineEventCard, V as defineEventCarousel, X as defineEventList, Y as defineWidgetProvider } from './custom-elements-B8D_tJOO.js'; import 'lit'; type WidgetMessages = { loadingEvents: string; emptyEvents: string; configError: string; loadError: string; retry: string; searchPlaceholder: string; searchClear: string; sortLabel: string; loadMore: string; allCategories: string; allMarkets: string; sortScore: string; sortCreatedAt: string; sortVolume: string; sortEndDate: string; openEvent: string; availableOutcomes: string; volumeLabel: string; marketCount: string; endsIn: string; secondsShort: string; minutesShort: string; hoursShort: string; daysShort: string; monthsShort: string; yearsShort: string; }; /** Aligns with `frontend/apps/player/src/locales` language folders. */ declare const messages: { readonly en: { readonly loadingEvents: "Loading events"; readonly emptyEvents: "No events available"; readonly configError: "Widget configuration error"; readonly loadError: "Unable to load events"; readonly retry: "Retry"; readonly searchPlaceholder: "Search events"; readonly searchClear: "Clear search"; readonly sortLabel: "Sort"; readonly loadMore: "Load more"; readonly allCategories: "All"; readonly allMarkets: "All Markets"; readonly sortScore: "Default"; readonly sortCreatedAt: "Newest"; readonly sortVolume: "Volume"; readonly sortEndDate: "Ending Soon"; readonly openEvent: "Open event"; readonly availableOutcomes: "Available outcomes"; readonly volumeLabel: "Vol."; readonly marketCount: "{{count}} choices"; readonly endsIn: "Ends in {{time}}"; readonly secondsShort: "{{count}}s"; readonly minutesShort: "{{count}} minute"; readonly hoursShort: "{{count}} hour"; readonly daysShort: "{{count}}d"; readonly monthsShort: "{{count}}mo"; readonly yearsShort: "{{count}}y"; }; readonly 'zh-CN': { readonly loadingEvents: "正在加载赛事"; readonly emptyEvents: "暂无赛事"; readonly configError: "组件配置错误"; readonly loadError: "无法加载赛事"; readonly retry: "重试"; readonly searchPlaceholder: "搜索赛事"; readonly searchClear: "清除搜索"; readonly sortLabel: "排序"; readonly loadMore: "加载更多"; readonly allCategories: "全部"; readonly allMarkets: "全部市场"; readonly sortScore: "默认"; readonly sortCreatedAt: "最新"; readonly sortVolume: "成交量"; readonly sortEndDate: "即将截止"; readonly openEvent: "打开赛事"; readonly availableOutcomes: "可选结果"; readonly volumeLabel: "成交量"; readonly marketCount: "{{count}} 个市场"; readonly endsIn: "{{time}} 后结束"; readonly secondsShort: "{{count}}秒"; readonly minutesShort: "{{count}} 分钟"; readonly hoursShort: "{{count}} 小时"; readonly daysShort: "{{count}}天"; readonly monthsShort: "{{count}}个月"; readonly yearsShort: "{{count}}年"; }; readonly 'zh-TW': { readonly loadingEvents: "正在載入賽事"; readonly emptyEvents: "目前無可用賽事"; readonly configError: "元件設定錯誤"; readonly loadError: "無法載入賽事"; readonly retry: "重試"; readonly searchPlaceholder: "搜尋賽事"; readonly searchClear: "清除搜尋"; readonly sortLabel: "排序"; readonly loadMore: "載入更多"; readonly allCategories: "全部"; readonly allMarkets: "所有市場"; readonly sortScore: "預設"; readonly sortCreatedAt: "最新"; readonly sortVolume: "成交量"; readonly sortEndDate: "即將結束"; readonly openEvent: "開啟賽事"; readonly availableOutcomes: "可選結果"; readonly volumeLabel: "成交量"; readonly marketCount: "{{count}} 個市場"; readonly endsIn: "{{time}} 後結束"; readonly secondsShort: "{{count}}秒"; readonly minutesShort: "{{count}}分鐘"; readonly hoursShort: "{{count}}小時"; readonly daysShort: "{{count}}天"; readonly monthsShort: "{{count}}個月"; readonly yearsShort: "{{count}}年"; }; readonly 'zh-HK': { readonly loadingEvents: "正在載入賽事"; readonly emptyEvents: "目前無可用賽事"; readonly configError: "元件設定錯誤"; readonly loadError: "無法載入賽事"; readonly retry: "重試"; readonly searchPlaceholder: "搜尋賽事"; readonly searchClear: "清除搜尋"; readonly sortLabel: "排序"; readonly loadMore: "載入更多"; readonly allCategories: "全部"; readonly allMarkets: "所有市場"; readonly sortScore: "預設"; readonly sortCreatedAt: "最新"; readonly sortVolume: "成交量"; readonly sortEndDate: "即將結束"; readonly openEvent: "開啟賽事"; readonly availableOutcomes: "可選結果"; readonly volumeLabel: "成交量"; readonly marketCount: "{{count}} 個市場"; readonly endsIn: "{{time}} 後結束"; readonly secondsShort: "{{count}}秒"; readonly minutesShort: "{{count}}分鐘"; readonly hoursShort: "{{count}}小時"; readonly daysShort: "{{count}}天"; readonly monthsShort: "{{count}}個月"; readonly yearsShort: "{{count}}年"; }; readonly ja: { readonly loadingEvents: "イベントを読み込み中"; readonly emptyEvents: "利用可能なイベントはありません"; readonly configError: "ウィジェット設定エラー"; readonly loadError: "イベントの読み込みに失敗しました"; readonly retry: "再試行"; readonly searchPlaceholder: "イベントを検索"; readonly searchClear: "検索をクリア"; readonly sortLabel: "並び替え"; readonly loadMore: "もっと読み込む"; readonly allCategories: "すべて"; readonly allMarkets: "全マーケット"; readonly sortScore: "デフォルト"; readonly sortCreatedAt: "新着順"; readonly sortVolume: "取引高順"; readonly sortEndDate: "終了間近"; readonly openEvent: "イベントを開く"; readonly availableOutcomes: "利用可能な結果"; readonly volumeLabel: "Vol."; readonly marketCount: "{{count}} マーケット"; readonly endsIn: "残り {{time}}"; readonly secondsShort: "{{count}}秒"; readonly minutesShort: "{{count}}分"; readonly hoursShort: "{{count}}時間"; readonly daysShort: "{{count}}日"; readonly monthsShort: "{{count}}ヶ月"; readonly yearsShort: "{{count}}年"; }; readonly ko: { readonly loadingEvents: "이벤트 불러오는 중"; readonly emptyEvents: "진행 중인 이벤트가 없습니다"; readonly configError: "위젯 구성 오류"; readonly loadError: "이벤트를 불러오지 못했습니다"; readonly retry: "재시도"; readonly searchPlaceholder: "이벤트 검색"; readonly searchClear: "검색 지우기"; readonly sortLabel: "정렬"; readonly loadMore: "더 보기"; readonly allCategories: "전체"; readonly allMarkets: "모든 마켓"; readonly sortScore: "기본순"; readonly sortCreatedAt: "최신순"; readonly sortVolume: "거래량순"; readonly sortEndDate: "마감 임박순"; readonly openEvent: "이벤트 열기"; readonly availableOutcomes: "선택 가능한 결과"; readonly volumeLabel: "거래량"; readonly marketCount: "{{count}}개 마켓"; readonly endsIn: "{{time}} 후 종료"; readonly secondsShort: "{{count}}초"; readonly minutesShort: "{{count}}분"; readonly hoursShort: "{{count}}시간"; readonly daysShort: "{{count}}일"; readonly monthsShort: "{{count}}개월"; readonly yearsShort: "{{count}}년"; }; readonly es: { readonly loadingEvents: "Cargando eventos"; readonly emptyEvents: "No hay eventos disponibles"; readonly configError: "Error de configuración del widget"; readonly loadError: "No se pudieron cargar los eventos"; readonly retry: "Reintentar"; readonly searchPlaceholder: "Buscar eventos"; readonly searchClear: "Borrar búsqueda"; readonly sortLabel: "Ordenar"; readonly loadMore: "Cargar más"; readonly allCategories: "Todos"; readonly allMarkets: "Todos los mercados"; readonly sortScore: "Predeterminado"; readonly sortCreatedAt: "Más recientes"; readonly sortVolume: "Volumen"; readonly sortEndDate: "Terminan pronto"; readonly openEvent: "Abrir evento"; readonly availableOutcomes: "Resultados disponibles"; readonly volumeLabel: "Vol."; readonly marketCount: "{{count}} opciones"; readonly endsIn: "Termina en {{time}}"; readonly secondsShort: "{{count}} s"; readonly minutesShort: "{{count}} min"; readonly hoursShort: "{{count}} h"; readonly daysShort: "{{count}} d"; readonly monthsShort: "{{count}} mes"; readonly yearsShort: "{{count}} año"; }; readonly 'pt-BR': { readonly loadingEvents: "Carregando eventos"; readonly emptyEvents: "Nenhum evento disponível"; readonly configError: "Erro de configuração do widget"; readonly loadError: "Falha ao carregar eventos"; readonly retry: "Tentar novamente"; readonly searchPlaceholder: "Buscar eventos"; readonly searchClear: "Limpar busca"; readonly sortLabel: "Ordenar"; readonly loadMore: "Carregar mais"; readonly allCategories: "Tudo"; readonly allMarkets: "Todos os Mercados"; readonly sortScore: "Padrão"; readonly sortCreatedAt: "Mais recentes"; readonly sortVolume: "Volume"; readonly sortEndDate: "Terminando em breve"; readonly openEvent: "Abrir evento"; readonly availableOutcomes: "Resultados disponíveis"; readonly volumeLabel: "Vol."; readonly marketCount: "{{count}} mercados"; readonly endsIn: "Termina em {{time}}"; readonly secondsShort: "{{count}}s"; readonly minutesShort: "{{count}} minuto"; readonly hoursShort: "{{count}} hora"; readonly daysShort: "{{count}}d"; readonly monthsShort: "{{count}} mês"; readonly yearsShort: "{{count}} ano"; }; readonly th: { readonly loadingEvents: "กำลังโหลดกิจกรรม"; readonly emptyEvents: "ไม่มีกิจกรรมที่พร้อมใช้งาน"; readonly configError: "ข้อผิดพลาดการตั้งค่าวิดเจ็ต"; readonly loadError: "โหลดกิจกรรมไม่สำเร็จ"; readonly retry: "ลองใหม่"; readonly searchPlaceholder: "ค้นหาเหตุการณ์"; readonly searchClear: "ล้างการค้นหา"; readonly sortLabel: "เรียงลำดับ"; readonly loadMore: "โหลดเพิ่ม"; readonly allCategories: "ทั้งหมด"; readonly allMarkets: "ตลาดทั้งหมด"; readonly sortScore: "เริ่มต้น"; readonly sortCreatedAt: "ใหม่ล่าสุด"; readonly sortVolume: "ปริมาณ"; readonly sortEndDate: "กำลังจะสิ้นสุด"; readonly openEvent: "เปิดกิจกรรม"; readonly availableOutcomes: "ผลลัพธ์ที่ใช้ได้"; readonly volumeLabel: "ปริมาณ"; readonly marketCount: "{{count}} ตลาด"; readonly endsIn: "สิ้นสุดใน {{time}}"; readonly secondsShort: "{{count}}วิ"; readonly minutesShort: "{{count}} นาที"; readonly hoursShort: "{{count}} ชั่วโมง"; readonly daysShort: "{{count}}ว."; readonly monthsShort: "{{count}} เดือน"; readonly yearsShort: "{{count}} ปี"; }; readonly vi: { readonly loadingEvents: "Đang tải sự kiện"; readonly emptyEvents: "Không có sự kiện nào"; readonly configError: "Lỗi cấu hình widget"; readonly loadError: "Không thể tải sự kiện"; readonly retry: "Thử lại"; readonly searchPlaceholder: "Tìm kiếm sự kiện"; readonly searchClear: "Xóa tìm kiếm"; readonly sortLabel: "Sắp xếp"; readonly loadMore: "Tải thêm"; readonly allCategories: "Tất cả"; readonly allMarkets: "Tất cả thị trường"; readonly sortScore: "Mặc định"; readonly sortCreatedAt: "Mới nhất"; readonly sortVolume: "Khối lượng"; readonly sortEndDate: "Sắp kết thúc"; readonly openEvent: "Mở sự kiện"; readonly availableOutcomes: "Kết quả khả dụng"; readonly volumeLabel: "Khối lượng"; readonly marketCount: "{{count}} thị trường"; readonly endsIn: "Kết thúc sau {{time}}"; readonly secondsShort: "{{count}}s"; readonly minutesShort: "{{count}} phút"; readonly hoursShort: "{{count}} giờ"; readonly daysShort: "{{count}}ng"; readonly monthsShort: "{{count}} tháng"; readonly yearsShort: "{{count}} năm"; }; readonly id: { readonly loadingEvents: "Memuat event"; readonly emptyEvents: "Belum ada event tersedia"; readonly configError: "Kesalahan konfigurasi widget"; readonly loadError: "Gagal memuat event"; readonly retry: "Coba lagi"; readonly searchPlaceholder: "Cari event"; readonly searchClear: "Hapus pencarian"; readonly sortLabel: "Urutkan"; readonly loadMore: "Muat lebih banyak"; readonly allCategories: "Semua"; readonly allMarkets: "Semua Pasar"; readonly sortScore: "Default"; readonly sortCreatedAt: "Terbaru"; readonly sortVolume: "Volume"; readonly sortEndDate: "Segera Berakhir"; readonly openEvent: "Buka event"; readonly availableOutcomes: "Hasil tersedia"; readonly volumeLabel: "Vol."; readonly marketCount: "{{count}} pilihan"; readonly endsIn: "Berakhir dalam {{time}}"; readonly secondsShort: "{{count}} dtk"; readonly minutesShort: "{{count}} menit"; readonly hoursShort: "{{count}} jam"; readonly daysShort: "{{count}} hr"; readonly monthsShort: "{{count}} bln"; readonly yearsShort: "{{count}} thn"; }; readonly hi: { readonly loadingEvents: "इवेंट लोड हो रहे हैं"; readonly emptyEvents: "कोई इवेंट उपलब्ध नहीं"; readonly configError: "विजेट कॉन्फ़िगरेशन त्रुटि"; readonly loadError: "इवेंट लोड करने में विफल"; readonly retry: "फिर कोशिश करें"; readonly searchPlaceholder: "इवेंट खोजें"; readonly searchClear: "खोज साफ़ करें"; readonly sortLabel: "क्रमबद्ध करें"; readonly loadMore: "और लोड करें"; readonly allCategories: "सभी"; readonly allMarkets: "सभी मार्केट"; readonly sortScore: "डिफ़ॉल्ट"; readonly sortCreatedAt: "नवीनतम"; readonly sortVolume: "वॉल्यूम"; readonly sortEndDate: "जल्द समाप्त"; readonly openEvent: "इवेंट खोलें"; readonly availableOutcomes: "उपलब्ध परिणाम"; readonly volumeLabel: "वॉल्यूम"; readonly marketCount: "{{count}} विकल्प"; readonly endsIn: "{{time}} में समाप्त"; readonly secondsShort: "{{count}}से"; readonly minutesShort: "{{count}} मिनट"; readonly hoursShort: "{{count}} घंटा"; readonly daysShort: "{{count}}दि"; readonly monthsShort: "{{count}} महीना"; readonly yearsShort: "{{count}} साल"; }; }; type WidgetLocale = keyof typeof messages; type WidgetMessageKey = keyof WidgetMessages; declare const WIDGET_LOCALES: WidgetLocale[]; declare function resolveMessageLocale(locale?: string): WidgetLocale; /** * Format European decimal odds for display. * Canonical input is European decimal (≥ 1); Asia = european − 1; American = moneyline. */ declare function formatOdds(odds: string | number | null | undefined, format: WidgetOddsFormat | string | undefined): string; declare function parseOddsFormat(value: string | null | undefined): WidgetOddsFormat | null; declare const PLAYER_PARAM_EVENT = "event"; declare const PLAYER_PARAM_OUTCOME = "outcome"; declare const LAUNCH_PARAM_EVENT_ID = "event_id"; declare const LAUNCH_PARAM_OUTCOME_ID = "outcome_id"; /** * Card display order mirrors player `deriveEventCardFields`: * - binary (≤2): keep API / sort_order order * - multi (>2): prefer odds nearest 2.0, longest label last, then take first 2 */ declare function getDisplayOrderedMarkets(markets: readonly WidgetMarket[], limit?: number): WidgetMarket[]; declare function appendLaunchEventParams(url: string, input: { eventId: string; outcomeId?: string; }): string; declare function syncPlayerEventSearchParams(location: Pick, input: { eventId: string; outcomeId?: string; }): string; export { LAUNCH_PARAM_EVENT_ID, LAUNCH_PARAM_OUTCOME_ID, PLAYER_PARAM_EVENT, PLAYER_PARAM_OUTCOME, WIDGET_LOCALES, type WidgetLocale, WidgetMarket, type WidgetMessageKey, WidgetOddsFormat, appendLaunchEventParams, formatOdds, getDisplayOrderedMarkets, parseOddsFormat, resolveMessageLocale, syncPlayerEventSearchParams };