import { Icon } from '../interfaces';
import { Club } from './club.model';
import { BaseModel } from './base.model';
import { Brawler } from './brawler.model';
import { BrawlClient } from '../brawl.client';
import { Battle } from './battle.model';
export declare class Player extends BaseModel {
    readonly tag: string;
    readonly name: string;
    readonly icon: Icon;
    readonly trophies: number;
    readonly highestTrophies: number;
    readonly expLevel: number;
    readonly expPoints: number;
    readonly isQualifiedFromChampionshipChallenge: boolean;
    readonly '3vs3Victories': number;
    readonly soloVictories: number;
    readonly duoVictories: number;
    readonly bestRoboRumbleTime: number;
    readonly bestTimeAsBigBrawler: number;
    get totalVictories(): number;
    readonly club?: Club;
    readonly brawlers: Brawler[];
    constructor(client: BrawlClient, raw: Player.Raw);
    getClub(): Promise<Club>;
    getBattles(): Promise<Battle[]>;
}
export declare namespace Player {
    interface Raw {
        tag: string;
        name: string;
        icon: Icon;
        trophies: number;
        highestTrophies: number;
        expLevel: number;
        expPoints: number;
        isQualifiedFromChampionshipChallenge: boolean;
        '3vs3Victories': number;
        soloVictories: number;
        duoVictories: number;
        bestRoboRumbleTime: number;
        bestTimeAsBigBrawler: number;
        club?: Club.Raw;
        brawlers: Brawler.Raw[];
    }
    function FromRaw(client: BrawlClient, raw: Raw): Player;
}
