import { BaseModel } from './base.model';
import { BrawlClient } from '../brawl.client';
import { Event } from '../interfaces';
import { Player } from './player.model';
import { BrawlMode } from '../enums';
export declare class Battle extends BaseModel {
    readonly event: Event;
    readonly battleTime: string;
    get battleDate(): Date;
    readonly mode: BrawlMode;
    readonly type: Battle.Type;
    readonly result: Battle.Result;
    readonly duration?: number;
    readonly starPlayer?: Player;
    readonly teams?: Battle.Player[][];
    readonly players?: Battle.Player[];
    constructor(client: BrawlClient, raw: Battle.Raw);
}
export declare namespace Battle {
    interface Raw {
        event: Event;
        battleTime: string;
        battle: Record<string, any>;
    }
    function FromRaw(client: BrawlClient, raw: Raw): Battle;
    enum Type {
        Ranked = "ranked",
        Friendly = "friendly"
    }
    enum Result {
        Victory = "victory",
        Defeat = "defeat"
    }
    interface Player {
        tag: string;
        name: string;
        brawler: {
            id: number;
            name: string;
            power: number;
            trophies: number;
        };
    }
}
