import type { QueueId } from "@valapi/lib"; import type { PromiseResponse, ClientPlatfrom } from "@valapi/auth"; import { WebClientService } from "../client/WebClientService"; export declare namespace Match { interface Location { x: number; y: number; } interface PlayerLocation { subject: string; viewRadians: number; location: Match.Location; } interface Kill { gameTime: number; roundTime: number; killer: string; victim: string; victimLocation: Match.Location; assistants: Array; playerLocations: Array; finishingDamage: { damageType: string; damageItem: string; isSecondaryFireMode: boolean; }; } interface Detail { matchInfo: { matchId: string; mapId: string; gamePodId: string; gameLoopZone: string; gameServerAddress: string; gameVersion: string; gameLengthMillis: number; gameStartMillis: number; provisioningFlowID: string; isCompleted: boolean; customGameName: string; forcePostProcessing: boolean; queueID: QueueId.ID; gameMode: string; isRanked: boolean; isMatchSampled: boolean; seasonId: string; completionState: string; platformType: string; premierMatchInfo: any; partyRRPenalties: Record; shouldMatchDisablePenalties: boolean; }; players: Array<{ subject: string; gameName: string; tagLine: string; platformInfo: ClientPlatfrom; teamId: string; partyId: string; characterId: string; stats: { score: number; roundsPlayed: number; kills: number; deaths: number; assists: number; playtimeMillis: number; abilityCasts: { grenadeCasts: number; ability1Casts: number; ability2Casts: number; ultimateCasts: number; }; }; roundDamage: Array<{ round: number; receiver: string; damage: number; }>; competitiveTier: number; isObserver: boolean; playerCard: string; playerTitle: string; preferredLevelBorder?: string; accountLevel: number; sessionPlaytimeMinutes: number; xpModifications?: Array<{ Value: number; ID: string; }>; behaviorFactors: { afkRounds: number; collisions: number; commsRatingRecovery: number; damageParticipationOutgoing: number; friendlyFireIncoming: number; friendlyFireOutgoing: number; mouseMovement: number; selfDamage: number; stayedInSpawnRounds: number; }; newPlayerExperienceDetails: { basicMovement: { idleTimeMillis: number; objectiveCompleteTimeMillis: number; }; basicGunSkill: { idleTimeMillis: number; objectiveCompleteTimeMillis: number; }; adaptiveBots: { idleTimeMillis: number; objectiveCompleteTimeMillis: number; adaptiveBotAverageDurationMillisAllAttempts: number; adaptiveBotAverageDurationMillisFirstAttempt: number; killDetailsFirstAttempt: any; }; ability: { idleTimeMillis: number; objectiveCompleteTimeMillis: number; }; bombPlant: { idleTimeMillis: number; objectiveCompleteTimeMillis: number; }; defendBombSite: { idleTimeMillis: number; objectiveCompleteTimeMillis: number; success: boolean; }; settingStatus: { isMouseSensitivityDefault: boolean; isCrosshairDefault: boolean; }; versionString: string; }; }>; bots: Array; coaches: Array; teams: Array<{ teamId: string; won: boolean; roundsPlayed: number; roundsWon: number; numPoints: number; }>; roundResults: Array<{ roundNum: number; roundResult: string; roundCeremony: string; winningTeam: string; bombPlanter?: string; bombDefuser?: string; plantRoundTime: number; plantPlayerLocations: Array; plantLocation: Match.Location; plantSite: string; defuseRoundTime: number; defusePlayerLocations: Array; defuseLocation: Match.Location; playerStats: Array<{ subject: string; kills: Array; damage: Array<{ receiver: string; damage: number; legshots: number; bodyshots: number; headshots: number; }>; score: number; economy: { loadoutValue: number; weapon: string; armor: string; remaining: number; spent: number; }; ability: { grenadeEffects: any; ability1Effects: any; ability2Effects: any; ultimateEffects: any; }; wasAfk: boolean; wasPenalized: boolean; stayedInSpawn: boolean; }>; roundResultCode: string; playerEconomies: Array<{ subject: string; loadoutValue: number; weapon: string; armor: string; remaining: number; spent: number; }>; playerScores: Array<{ subject: string; score: number; }>; }>; kills: Array; } interface History { Subject: string; BeginIndex: number; EndIndex: number; Total: number; History: Array<{ MatchID: string; GameStartTime: number; QueueID: QueueId.ID; }>; } } export declare class Match extends WebClientService { fetchMatchDetails(matchId: string): PromiseResponse; /** * @param startIndex (default: 0) * @param endIndex (default: 10) */ fetchMatchHistory(subject: string, queueId?: QueueId.ID, startIndex?: number, endIndex?: number): PromiseResponse; /** * @deprecated Please, Contact us if you find out how its works */ fetchQueueData(): PromiseResponse; }