interface VersusReplay {
    gamemode: null | "league";
    id: null | string;
    replay: {
        leaderboard: {
            active: boolean;
            id: string;
            naturalorder: number;
            shadowedBy: [null, null];
            shadows: [];
            stats: Stats & {
                blockrationing_app: unknown;
                blockrationing_final: unknown;
                escapeartist: unknown;
            };
            username: string;
            wins: number;
        }[];
        rounds: {
            active: boolean;
            alive: boolean;
            id: string;
            lifetime: number;
            naturalorder: number;
            replay: {
                events: Frame[];
                frames: number;
                options: {
                    allclear_b2b: number;
                    allclear_b2b_dupes: boolean;
                    allclear_b2b_sends: boolean;
                    allclear_garbage: number;
                    allow_harddrop: boolean;
                    allow180: boolean;
                    b2bchaining: boolean;
                    b2bcharge_base: number;
                    b2bcharging: boolean;
                    bagtype: BagType;
                    bgmnoreset: boolean;
                    boardheight: number;
                    boardwidth: number;
                    clutch: boolean;
                    combotable: ComboTable;
                    countdown: boolean;
                    countdown_count: number;
                    display_hold: boolean;
                    display_username: boolean;
                    forfeit_time: number;
                    fullinterval: number;
                    fulloffset: number;
                    g: number;
                    gameid: number;
                    garbageabsolutecap: number;
                    garbageblocking: GarbageBlocking;
                    garbagecap: number;
                    garbagecapincrease: number;
                    garbagecapmargin: number;
                    garbagecapmax: number;
                    garbageholesize: number;
                    garbageincrease: number;
                    garbagemargin: number;
                    garbagemultiplier: number;
                    garbagespecialbonus: boolean;
                    garbagespeed: number;
                    garbagetargetbonus: GarbageTargetBonus;
                    gincrease: number;
                    gmargin: number;
                    gravitymay20g: boolean;
                    handling: Handling;
                    hasgarbage: boolean;
                    infinite_hold: boolean;
                    kickset:
                        | "none"
                        | "SRS"
                        | "SRS+"
                        | "SRS-X"
                        | "TETRA-X"
                        | "NRS"
                        | "ARS"
                        | "ASC";
                    latencymode: string;
                    lockresets: number;
                    manual_allowed: boolean;
                    messiness_center?: boolean;
                    messiness_change: number;
                    messiness_inner: number;
                    messiness_nosame: boolean;
                    messiness_timeout: number;
                    mission: string;
                    mission_type: string;
                    neverstopbgm: boolean;
                    noextrawidth: boolean;
                    nolockout: boolean;
                    openerphase: number;
                    passthrough: Passthrough;
                    precountdown: number;
                    prestart: number;
                    roundmode: 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: SpinBonuses;
                    usebombs: boolean;
                    username: string;
                    version: number;
                    zoominto: string;
                };
                results: {
                    aggregatestats: {
                        apm: number;
                        pps: number;
                        vsscore: number;
                    };
                    gameoverreason: "topout" | "garbagesmash" | "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: {
        avatar_revision: number;
        banner_revision: number;
        country: null | string;
        doesNotExist?: true;
        flags: number;
        id: string;
        username: string;
    }[];
    version: number;
}

Properties

gamemode: null | "league"
id: null | string
replay: {
    leaderboard: {
        active: boolean;
        id: string;
        naturalorder: number;
        shadowedBy: [null, null];
        shadows: [];
        stats: Stats & {
            blockrationing_app: unknown;
            blockrationing_final: unknown;
            escapeartist: unknown;
        };
        username: string;
        wins: number;
    }[];
    rounds: {
        active: boolean;
        alive: boolean;
        id: string;
        lifetime: number;
        naturalorder: number;
        replay: {
            events: Frame[];
            frames: number;
            options: {
                allclear_b2b: number;
                allclear_b2b_dupes: boolean;
                allclear_b2b_sends: boolean;
                allclear_garbage: number;
                allow_harddrop: boolean;
                allow180: boolean;
                b2bchaining: boolean;
                b2bcharge_base: number;
                b2bcharging: boolean;
                bagtype: BagType;
                bgmnoreset: boolean;
                boardheight: number;
                boardwidth: number;
                clutch: boolean;
                combotable: ComboTable;
                countdown: boolean;
                countdown_count: number;
                display_hold: boolean;
                display_username: boolean;
                forfeit_time: number;
                fullinterval: number;
                fulloffset: number;
                g: number;
                gameid: number;
                garbageabsolutecap: number;
                garbageblocking: GarbageBlocking;
                garbagecap: number;
                garbagecapincrease: number;
                garbagecapmargin: number;
                garbagecapmax: number;
                garbageholesize: number;
                garbageincrease: number;
                garbagemargin: number;
                garbagemultiplier: number;
                garbagespecialbonus: boolean;
                garbagespeed: number;
                garbagetargetbonus: GarbageTargetBonus;
                gincrease: number;
                gmargin: number;
                gravitymay20g: boolean;
                handling: Handling;
                hasgarbage: boolean;
                infinite_hold: boolean;
                kickset:
                    | "none"
                    | "SRS"
                    | "SRS+"
                    | "SRS-X"
                    | "TETRA-X"
                    | "NRS"
                    | "ARS"
                    | "ASC";
                latencymode: string;
                lockresets: number;
                manual_allowed: boolean;
                messiness_center?: boolean;
                messiness_change: number;
                messiness_inner: number;
                messiness_nosame: boolean;
                messiness_timeout: number;
                mission: string;
                mission_type: string;
                neverstopbgm: boolean;
                noextrawidth: boolean;
                nolockout: boolean;
                openerphase: number;
                passthrough: Passthrough;
                precountdown: number;
                prestart: number;
                roundmode: 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: SpinBonuses;
                usebombs: boolean;
                username: string;
                version: number;
                zoominto: string;
            };
            results: {
                aggregatestats: {
                    apm: number;
                    pps: number;
                    vsscore: number;
                };
                gameoverreason: "topout" | "garbagesmash" | "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: {
    avatar_revision: number;
    banner_revision: number;
    country: null | string;
    doesNotExist?: true;
    flags: number;
    id: string;
    username: string;
}[]
version: number