import type { LeaderboardPageProps, RankingEntry, RankingScope, RankingPeriod } from "./LeaderboardPage.types"; declare const useLeaderboardPage: (props: LeaderboardPageProps) => { data: { title: string; emptyMessage: string; entries: { position: number; points: number; avatarUrl: string | null; mediumId: string; mediumName: string; positionChange: number; participationCount: number; previousPosition: number | null; terreiroName?: string | null | undefined; }[]; totalEntries: number; topThree: { position: number; points: number; avatarUrl: string | null; mediumId: string; mediumName: string; positionChange: number; participationCount: number; previousPosition: number | null; terreiroName?: string | null | undefined; }[]; restOfList: { position: number; points: number; avatarUrl: string | null; mediumId: string; mediumName: string; positionChange: number; participationCount: number; previousPosition: number | null; terreiroName?: string | null | undefined; }[]; currentMediumPosition: { position: number; points: number; avatarUrl: string | null; mediumId: string; mediumName: string; positionChange: number; participationCount: number; previousPosition: number | null; terreiroName?: string | null | undefined; } | null; currentScope: "TERREIRO" | "CITY" | "STATE" | "COUNTRY"; currentPeriod: "WEEKLY" | "MONTHLY" | "YEARLY" | "ALL_TIME"; leaderboardViewMode: "list" | "podium"; showTieBreakInfo: boolean; tieBreakMessage: string; learnGamificationLabel: string; availableScopes: ("TERREIRO" | "CITY" | "STATE" | "COUNTRY")[]; showScopeSelector: boolean; showPeriodSelector: boolean; isLoading: boolean; error: string | undefined; hasNoData: boolean; entriesForList: { position: number; points: number; avatarUrl: string | null; mediumId: string; mediumName: string; positionChange: number; participationCount: number; previousPosition: number | null; terreiroName?: string | null | undefined; }[]; }; fns: { handleBack: () => void; handleScopeChange: (scope: RankingScope) => void; handlePeriodChange: (period: RankingPeriod) => void; handleEntryClick: (entry: RankingEntry) => void; handleLearnGamification: () => void; getPositionChangeIndicator: (change: number) => { icon: string; color: string; label: string; }; isCurrentMedium: (mediumId: string) => boolean; }; }; export default useLeaderboardPage;