export type LeaderboardTimeframe = '24h' | '7d' | '30d' | 'all-time'; export type LeaderboardSortBy = 'volume'; export interface LeaderboardEntry { rank: number; address: `0x${string}`; totalVolume: bigint; tradesCount: number; marketsTraded: number; formatted: { totalVolume: string; }; } export interface GetLeaderboardParams { timeframe: LeaderboardTimeframe; limit?: number; sortBy?: LeaderboardSortBy; subgraphUrl: string; subgraphApiKey?: string; } export interface LeaderboardResult { timeframe: LeaderboardTimeframe; entries: LeaderboardEntry[]; totalTraders: number; generatedAt: number; }