/** * @typedef {Object} PlayerEvents * @property {string} teamChanged * @property {string} activityChanged * @property {string} observerSlotChanged * @property {string} hpChanged * @property {string} armorChanged * @property {string} helmetChanged * @property {string} flashedChanged * @property {string} smokedChanged * @property {string} burningChanged * @property {string} moneyChanged * @property {string} moneyEarned * @property {string} equipmentValueChanged * @property {string} weaponChanged * @property {string} ammoClipChanged * @property {string} ammoReserveChanged * @property {string} killsChanged * @property {string} deathsChanged * @property {string} assistsChanged * @property {string} scoreChanged */ import { GrenadeBase } from "../models/grenades/GrenadeBase"; import { Vector3D } from "../models/helpers/Vector3D"; import { ModelBase } from "../models/ModelBase"; import { Player } from "../models/players/Player"; import { Weapon } from "../models/Weapon"; import { Activity, BombState, CountdownPhase, MapPhase, RoundPhase, RoundWinCondition, Team } from "./enums"; import { GRENADEID, STEAMID64 } from "./types"; /** * @typedef {Object} MapEvents * @property {string} nameChanged * @property {string} phaseChanged * @property {string} roundChanged * @property {string} teamCTScoreChanged * @property {string} teamTScoreChanged */ /** * @typedef {Object} RoundEvents * @property {string} phaseChanged * @property {string} started * @property {string} ended * @property {string} won * @property {string} bombPlantingStarted * @property {string} bombPlanted * @property {string} bombPlantFake */ /** * @typedef {Object} GsiEvents * @property {PlayerEvents} player * @property {MapEvents} map * @property {RoundEvents} round */ export declare const EVENTS: { readonly provider: { readonly nameChanged: "provider:nameChanged"; readonly timestampChanged: "provider:timestampChanged"; }; readonly map: { readonly nameChanged: "map:nameChanged"; readonly phaseChanged: "map:phaseChanged"; readonly roundChanged: "map:roundChanged"; readonly teamCTScoreChanged: "map:teamCTScoreChanged"; readonly teamTScoreChanged: "map:teamTScoreChanged"; readonly currentSpectatorsChanged: "map:currentSpectatorsChanged"; readonly souvenirsTotalChanged: "map:souvenirsTotalChanged"; readonly roundWinsChanged: "map:roundWinsChanged"; }; readonly round: { readonly phaseChanged: "round:phaseChanged"; readonly started: "round:started"; readonly ended: "round:ended"; readonly won: "round:won"; }; readonly player: { readonly nameChanged: "player:nameChanged"; readonly clanChanged: "player:clanChanged"; readonly xpOverloadLevelChanged: "player:xpOverloadLevelChanged"; readonly steamidChanged: "player:steamidChanged"; readonly teamChanged: "player:teamChanged"; readonly activityChanged: "player:activityChanged"; readonly observerSlotChanged: "player:observerSlotChanged"; readonly specTargetChanged: "player:spectargetChanged"; readonly positionChanged: "player:positionChanged"; readonly forwardDirectionChanged: "player:forwardDirectionChanged"; readonly hpChanged: "player:hpChanged"; readonly armorChanged: "player:armorChanged"; readonly helmetChanged: "player:helmetChanged"; readonly flashedChanged: "player:flashedChanged"; readonly smokedChanged: "player:smokedChanged"; readonly burningChanged: "player:burningChanged"; readonly moneyChanged: "player:moneyChanged"; readonly equipmentValueChanged: "player:equipmentValueChanged"; readonly weaponChanged: "player:weaponChanged"; readonly ammoClipChanged: "player:ammoClipChanged"; readonly ammoReserveChanged: "player:ammoReserveChanged"; readonly killsChanged: "player:killsChanged"; readonly deathsChanged: "player:deathsChanged"; readonly assistsChanged: "player:assistsChanged"; readonly scoreChanged: "player:scoreChanged"; readonly mvpsChanged: "player:mvpsChanged"; }; readonly phaseCountdowns: { readonly phaseChanged: "phaseCountdowns:phaseChanged"; readonly phaseEndsInChanged: "phaseCountdowns:phaseEndsInChanged"; }; readonly allPlayers: { readonly joined: "allPlayers:joined"; readonly left: "allPlayers:left"; readonly teamChanged: "allPlayers:teamChanged"; readonly observerSlotChanged: "allPlayers:observerSlotChanged"; readonly positionChanged: "allPlayers:positionChanged"; readonly forwardDirectionChanged: "allPlayers:forwardDirectionChanged"; readonly hpChanged: "allPlayers:hpChanged"; readonly armorChanged: "allPlayers:armorChanged"; readonly helmetChanged: "allPlayers:helmetChanged"; readonly flashedChanged: "allPlayers:flashedChanged"; readonly smokedChanged: "allPlayers:smokedChanged"; readonly burningChanged: "allPlayers:burningChanged"; readonly moneyChanged: "allPlayers:moneyChanged"; readonly equipmentValueChanged: "allPlayers:equipmentValueChanged"; readonly weaponChanged: "allPlayers:weaponChanged"; readonly ammoClipChanged: "allPlayers:ammoClipChanged"; readonly ammoReserveChanged: "allPlayers:ammoReserveChanged"; readonly killsChanged: "allPlayers:killsChanged"; readonly deathsChanged: "allPlayers:deathsChanged"; readonly assistsChanged: "allPlayers:assistsChanged"; readonly scoreChanged: "allPlayers:scoreChanged"; readonly mvpsChanged: "allPlayers:mvpsChanged"; }; readonly bomb: { readonly stateChanged: "bomb:stateChanged"; readonly positionChanged: "bomb:positionChanged"; readonly playerChanged: "bomb:playerChanged"; }; readonly grenades: { readonly existenceChanged: "grenades:existenceChanged"; readonly positionChanged: "grenades:positionChanged"; readonly velocityChanged: "grenades:velocityChanged"; readonly lifetimeChanged: "grenades:lifetimeChanged"; readonly effectTimeChanged: "grenades:effectTimeChanged"; readonly flamesChanged: "grenades:flamesChanged"; }; }; export type comparisonDataString = { previous: T | null | "unknown"; current: T | null | "unknown"; }; export type comparisonDataModel = { previous: T | null | "unknown"; current: T | null | "unknown"; }; export type comparisonDataModelArray = { previous: T[] | null | "unknown"; current: T[] | null | "unknown"; }; export type comparisonDataNumber = { previous: T | null | 0; current: T | null | 0; }; export type comparisonDataEnum = { previous: T; current: T; }; export type comparisonDataVector3D = { previous: null | Vector3D; current: null | Vector3D; }; export interface EventMap { "provider:nameChanged": [comparisonDataString]; "provider:timestampChanged": [comparisonDataNumber]; "map:nameChanged": [comparisonDataString]; "map:phaseChanged": [comparisonDataEnum]; "map:roundChanged": [comparisonDataNumber]; "map:teamCTScoreChanged": [comparisonDataNumber]; "map:teamTScoreChanged": [comparisonDataNumber]; "map:currentSpectatorsChanged": [comparisonDataNumber]; "map:souvenirsTotalChanged": [comparisonDataNumber]; "map:roundWinsChanged": [comparisonDataEnum>]; "round:phaseChanged": [comparisonDataEnum]; "round:started": []; "round:ended": [{ winner: string | null | "unknown"; }]; "round:won": [comparisonDataString]; "player:nameChanged": [comparisonDataString]; "player:clanChanged": [comparisonDataString]; "player:xpOverloadLevelChanged": [comparisonDataNumber]; "player:steamidChanged": [comparisonDataString]; "player:teamChanged": [comparisonDataEnum]; "player:activityChanged": [comparisonDataEnum]; "player:observerSlotChanged": [comparisonDataNumber]; "player:spectargetChanged": [comparisonDataString]; "player:hpChanged": [comparisonDataNumber]; "player:armorChanged": [comparisonDataNumber]; "player:helmetChanged": [comparisonDataNumber]; "player:flashedChanged": [comparisonDataNumber]; "player:smokedChanged": [comparisonDataNumber]; "player:burningChanged": [comparisonDataNumber]; "player:moneyChanged": [comparisonDataNumber]; "player:equipmentValueChanged": [comparisonDataNumber]; "player:weaponChanged": [comparisonDataModel]; "player:ammoClipChanged": [comparisonDataNumber]; "player:ammoReserveChanged": [comparisonDataNumber]; "player:killsChanged": [comparisonDataNumber]; "player:deathsChanged": [comparisonDataNumber]; "player:assistsChanged": [comparisonDataNumber]; "player:scoreChanged": [comparisonDataNumber]; "player:mvpsChanged": [comparisonDataNumber]; "player:positionChanged": [comparisonDataVector3D]; "player:forwardDirectionChanged": [comparisonDataVector3D]; "phaseCountdowns:phaseChanged": [comparisonDataEnum]; "phaseCountdowns:phaseEndsInChanged": [comparisonDataString]; "allPlayers:joined": [STEAMID64, comparisonDataModel]; "allPlayers:left": [STEAMID64, comparisonDataModel]; "allPlayers:teamChanged": [STEAMID64, comparisonDataEnum]; "allPlayers:observerSlotChanged": [STEAMID64, comparisonDataNumber]; "allPlayers:positionChanged": [STEAMID64, comparisonDataVector3D]; "allPlayers:forwardDirectionChanged": [STEAMID64, comparisonDataVector3D]; "allPlayers:hpChanged": [STEAMID64, comparisonDataNumber]; "allPlayers:armorChanged": [STEAMID64, comparisonDataNumber]; "allPlayers:helmetChanged": [STEAMID64, comparisonDataNumber]; "allPlayers:flashedChanged": [STEAMID64, comparisonDataNumber]; "allPlayers:smokedChanged": [STEAMID64, comparisonDataNumber]; "allPlayers:burningChanged": [STEAMID64, comparisonDataNumber]; "allPlayers:moneyChanged": [STEAMID64, comparisonDataNumber]; "allPlayers:equipmentValueChanged": [STEAMID64, comparisonDataNumber]; "allPlayers:weaponChanged": [STEAMID64, comparisonDataModel]; "allPlayers:ammoClipChanged": [STEAMID64, comparisonDataNumber]; "allPlayers:ammoReserveChanged": [STEAMID64, comparisonDataNumber]; "allPlayers:killsChanged": [STEAMID64, comparisonDataNumber]; "allPlayers:deathsChanged": [STEAMID64, comparisonDataNumber]; "allPlayers:assistsChanged": [STEAMID64, comparisonDataNumber]; "allPlayers:scoreChanged": [STEAMID64, comparisonDataNumber]; "allPlayers:mvpsChanged": [STEAMID64, comparisonDataNumber]; [key: `allPlayers:joined@${STEAMID64}`]: [comparisonDataModel]; [key: `allPlayers:left@${STEAMID64}`]: [comparisonDataModel]; [key: `allPlayers:teamChanged@${STEAMID64}`]: [comparisonDataEnum]; [key: `allPlayers:observerSlotChanged@${STEAMID64}`]: [comparisonDataNumber]; [key: `allPlayers:positionChanged@${STEAMID64}`]: [comparisonDataVector3D]; [key: `allPlayers:forwardDirectionChanged@${STEAMID64}`]: [comparisonDataVector3D]; [key: `allPlayers:hpChanged@${STEAMID64}`]: [comparisonDataNumber]; [key: `allPlayers:armorChanged@${STEAMID64}`]: [comparisonDataNumber]; [key: `allPlayers:helmetChanged@${STEAMID64}`]: [comparisonDataNumber]; [key: `allPlayers:flashedChanged@${STEAMID64}`]: [comparisonDataNumber]; [key: `allPlayers:smokedChanged@${STEAMID64}`]: [comparisonDataNumber]; [key: `allPlayers:burningChanged@${STEAMID64}`]: [comparisonDataNumber]; [key: `allPlayers:moneyChanged@${STEAMID64}`]: [comparisonDataNumber]; [key: `allPlayers:equipmentValueChanged@${STEAMID64}`]: [comparisonDataNumber]; [key: `allPlayers:weaponChanged@${STEAMID64}`]: [comparisonDataModel]; [key: `allPlayers:ammoClipChanged@${STEAMID64}`]: [comparisonDataNumber]; [key: `allPlayers:ammoReserveChanged@${STEAMID64}`]: [comparisonDataNumber]; [key: `allPlayers:killsChanged@${STEAMID64}`]: [comparisonDataNumber]; [key: `allPlayers:deathsChanged@${STEAMID64}`]: [comparisonDataNumber]; [key: `allPlayers:assistsChanged@${STEAMID64}`]: [comparisonDataNumber]; [key: `allPlayers:scoreChanged@${STEAMID64}`]: [comparisonDataNumber]; [key: `allPlayers:mvpsChanged@${STEAMID64}`]: [comparisonDataNumber]; "bomb:stateChanged": [comparisonDataEnum]; "bomb:positionChanged": [comparisonDataVector3D]; "bomb:playerChanged": [comparisonDataString]; "grenades:existenceChanged": [GRENADEID, comparisonDataModel]; "grenades:positionChanged": [GRENADEID, comparisonDataVector3D]; "grenades:velocityChanged": [GRENADEID, comparisonDataVector3D]; "grenades:lifetimeChanged": [GRENADEID, comparisonDataNumber]; "grenades:effectTimeChanged": [GRENADEID, comparisonDataNumber]; "grenades:flamesChanged": [GRENADEID, comparisonDataModelArray]; [key: `grenades:existenceChanged@${GRENADEID}`]: [comparisonDataModel]; [key: `grenades:positionChanged@${GRENADEID}`]: [comparisonDataVector3D]; [key: `grenades:velocityChanged@${GRENADEID}`]: [comparisonDataVector3D]; [key: `grenades:lifetimeChanged@${GRENADEID}`]: [comparisonDataNumber]; [key: `grenades:effectTimeChanged@${GRENADEID}`]: [comparisonDataNumber]; [key: `grenades:flamesChanged@${GRENADEID}`]: [comparisonDataModelArray]; }