/**
 * Get the global leaderboard
 *
 * @param {number} page - Leaderboard's Page
 * @param {string} category - Leaderboard's category. Can be GENERAL, CONTESTS, BOT_PROGRAMMING, OPTIM or CODEGOLF
 * @param {{active: boolean, column: string, filter: string, keyword: string}} filter - Leaderboard's filter
 * @param {string} codinGamerPublicHandle - Public Handle from the CodinGamer
 *
 */
export declare const getGlobalLeaderboard: (page: number, category: string, filter: {
    active: boolean;
    column: string;
    filter: string;
    keyword: string;
}, codinGamerPublicHandle: string) => Promise<IGlobalLeaderboard>;
/**
 * Get the Clash Of Code Leaderboard
 *
 * @param {number} page - Leaderboard's page
 * @param {{active: boolean, column: string, filter: string, keyword: string}} filter - Leaderboar's filter
 * @param {string} codinGamerPublicHandle - Public Handle from the CodinGamer
 *
 */
export declare const getClashLeaderboard: (page: number, filter: {
    active: boolean;
    column: string;
    filter: string;
    keyword: string;
}, codinGamerPublicHandle: string) => Promise<IClashLeaderboard>;
export interface IGlobalLeaderboard {
    users: leaderboardUser[];
    count: number;
    filteredCount: number;
}
declare type leaderboardUser = {
    pseudo: string;
    rank: number;
    score: number;
    achievements: number;
    contests: number;
    multiTraining: number;
    optim: number;
    codegolf: number;
    clash: number;
    xp: number;
    inProgress: boolean;
    school: string | null;
    company: string | null;
    codingamer: codingamer;
};
declare type codingamer = {
    userId: number;
    pseudo: string;
    countryId: string;
    publicHandle: string;
    avatar: number;
    level: number;
    category: string;
};
export interface IClashLeaderboard {
    users: clashLeaderboardUser[];
    count: number;
    filteredCount: number;
}
declare type clashLeaderboardUser = {
    pseudo: string;
    rank: number;
    globalRank: number;
    localRank: number;
    score: number;
    inProgress: boolean;
    school: string | null;
    company: string | null;
    codingamer: codingamer;
    clashesCount: number;
};
export {};
