import type { BagType, KickTable } from "../../engine";
import type { Game } from "../game";
export interface Stats {
    altitude: number;
    apm: number;
    btb: number;
    garbagereceived: number;
    garbagesent: number;
    kills: number;
    pps: number;
    rank: number;
    revives: number;
    targetingfactor: number;
    targetinggrace: number;
    vsscore: number;
}
export interface VersusReplay {
    gamemode: "league" | null;
    id: string | null;
    replay: {
        leaderboard: {
            id: string;
            username: string;
            wins: number;
            active: boolean;
            naturalorder: number;
            shadowedBy: [null, null];
            shadows: [];
            stats: Stats & {
                escapeartist: null | unknown;
                blockrationing_app: null | unknown;
                blockrationing_final: null | unknown;
            };
        }[];
        rounds: {
            active: boolean;
            alive: boolean;
            id: string;
            lifetime: number;
            naturalorder: number;
            replay: {
                frames: number;
                events: Game.Replay.Frame[];
                options: {
                    allow_harddrop: boolean;
                    allclear_b2b: number;
                    allclear_b2b_dupes: boolean;
                    allclear_b2b_sends: boolean;
                    allclear_garbage: number;
                    allow180: boolean;
                    b2bcharge_base: number;
                    boardheight: number;
                    boardwidth: number;
                    bagtype: BagType;
                    b2bchaining: boolean;
                    b2bcharging: boolean;
                    bgmnoreset: boolean;
                    countdown: boolean;
                    combotable: Game.ComboTable;
                    countdown_count: number;
                    clutch: boolean;
                    display_username: boolean;
                    display_hold: boolean;
                    forfeit_time: number;
                    fullinterval: number;
                    fulloffset: number;
                    gameid: number;
                    garbagemultiplier: number;
                    garbageincrease: number;
                    garbageblocking: Game.GarbageBlocking;
                    garbagemargin: number;
                    garbagespeed: number;
                    garbageholesize: number;
                    garbagecap: number;
                    garbagecapincrease: number;
                    garbagecapmargin: number;
                    garbagecapmax: number;
                    garbageabsolutecap: number;
                    garbagespecialbonus: boolean;
                    garbagetargetbonus: Game.GarbageTargetBonus;
                    g: number;
                    gincrease: number;
                    gmargin: number;
                    gravitymay20g: boolean;
                    handling: Game.Handling;
                    hasgarbage: boolean;
                    infinite_hold: boolean;
                    kickset: KickTable;
                    latencymode: string;
                    lockresets: number;
                    manual_allowed: boolean;
                    messiness_change: number;
                    messiness_nosame: boolean;
                    messiness_timeout: number;
                    messiness_inner: number;
                    messiness_center?: boolean;
                    mission: string;
                    mission_type: string;
                    neverstopbgm: boolean;
                    noextrawidth: boolean;
                    nolockout: boolean;
                    openerphase: number;
                    passthrough: Game.Passthrough;
                    precountdown: number;
                    prestart: number;
                    roundmode: Game.RoundingMode;
                    seed: number;
                    seed_random: boolean;
                    slot_bar1: string;
                    slot_counter1: string;
                    slot_counter2: string;
                    slot_counter3: string;
                    slot_counter4?: string;
                    slot_counter5?: string;
                    song: string;
                    spinbonuses: Game.SpinBonuses;
                    usebombs: boolean;
                    username: string;
                    version: number;
                    zoominto: string;
                };
                results: {
                    aggregatestats: {
                        apm: number;
                        pps: number;
                        vsscore: number;
                    };
                    gameoverreason: "garbagesmash" | "topout" | "winner";
                    stats: {
                        btb: number;
                        btbpower: number;
                        clears: {
                            allclear: number;
                            doubles: number;
                            minitspindoubles: number;
                            minitspinquads: number;
                            minitspins: number;
                            minitspinsingles: number;
                            minitspintriples: number;
                            pentas: number;
                            quads: number;
                            realtspins: number;
                            singles: number;
                            triples: number;
                            tspindoubles: number;
                            tspinpentas: number;
                            tspinquads: number;
                            tspinsingles: number;
                            tspintriples: number;
                        };
                        combo: number;
                        combopower: number;
                        finaltime: number;
                        finesse: {
                            combo: number;
                            faults: number;
                            perfectpieces: number;
                        };
                        garbage: {
                            attack: number;
                            cleared: number;
                            maxspike: number;
                            maxspike_nomult: number;
                            received: number;
                            sent: number;
                            sent_nomult: number;
                        };
                        holds: number;
                        inputs: number;
                        kills: number;
                        level: number;
                        level_lines: number;
                        level_lines_needed: number;
                        lines: number;
                        piecesplaced: number;
                        score: number;
                        topbtb: number;
                        topcombo: number;
                        tspins: number;
                        zenith: {
                            altitude: number;
                            avgrankpts: number;
                            floor: number;
                            peakrank: number;
                            rank: number;
                            revives: number;
                            revivesMaxOfBoth: number;
                            revivesTotal: number;
                            speedrun: boolean;
                            speedrun_seen: boolean;
                            splits: number[];
                            targetingfactor: number;
                            targetinggrace: number;
                            totalbonus: number;
                        };
                        zenlevel: number;
                        zenprogress: number;
                    };
                };
            };
            shadowedBy: [null, null];
            shadows: [];
            stats: Stats;
        }[][];
    };
    ts: string;
    users: {
        id: string;
        username: string;
        flags: number;
        country: string | null;
        avatar_revision: number;
        banner_revision: number;
        doesNotExist?: true;
    }[];
    version: number;
}
//# sourceMappingURL=versus.d.ts.map