import { type CasinoChainId, type Leaderboard } from "@betswirl/sdk-core"; import type { Address, PublicClient } from "viem"; export type EnrichedLeaderboard = Leaderboard & { claimableAmount?: bigint; }; export interface LeaderboardQueryDeps { publicClient: PublicClient; chainId: CasinoChainId; address?: Address; affiliate?: Address; testMode: boolean; } export interface FetchLeaderboardsParams extends LeaderboardQueryDeps { showPartner: boolean; } export declare function fetchAndEnrichLeaderboards({ publicClient, chainId, address, affiliate, showPartner, testMode, }: FetchLeaderboardsParams): Promise; export declare function fetchAndEnrichSingleLeaderboard(leaderboardId: string, deps: LeaderboardQueryDeps): Promise; export interface FetchAllChainsLeaderboardsParams { publicClients: Map; supportedChains: CasinoChainId[]; address?: Address; getAffiliateForChain: (chainId: CasinoChainId) => Address; showPartner: boolean; testMode: boolean; } /** * Fetches and enriches leaderboards from all supported chains * Uses Promise.allSettled to ensure that failure of one chain doesn't affect others * Results are aggregated and sorted by status and end date */ export declare function fetchAndEnrichLeaderboardsForAllChains({ publicClients, supportedChains, address, getAffiliateForChain, showPartner, testMode, }: FetchAllChainsLeaderboardsParams): Promise;