@brawlik/types
Version:
Auto-generated TypeScript typings for the official [Brawl Stars API](https://developer.brawlstars.com)
381 lines (313 loc) • 7.47 kB
TypeScript
export type List = unknown[]
export type JsonLocalizedName = string
export interface BattleResult {
mode: string
type: string
result: string
duration: number
trophyChange: number
starPlayer: StarPlayer
teams: TeamList
}
export interface StarPlayer {
tag: string
name: string
brawler: PlayerBrawler
}
export interface PlayerBrawler {
id: number
name: string
power: number
trophies: number
}
export type TeamList = Team[]
export type Team = TeamPlayer[]
export interface TeamPlayer {
tag: string
name: string
brawler: PlayerBrawler
}export type PlayerRankingList = PlayerRanking[]
export interface PlayerRanking {
club: PlayerRankingClub
trophies: number
icon: PlayerIcon
tag: string
name: string
rank: number
nameColor: string
}
export interface PlayerIcon {
id: number
}
export interface PlayerRankingClub {
name: string
}
export interface ServiceVersion {
major: number
minor: number
content: number
}
export interface Brawler {
gadgets: AccessoryList
name: JsonLocalizedName
id: number
starPowers: StarPowerList
}
export type StarPowerList = StarPower[]
export interface StarPower {
name: JsonLocalizedName
id: number
}
export type AccessoryList = Accessory[]
export interface Accessory {
name: JsonLocalizedName
id: number
}
export type BattleRegionList = BattleRegion[]
export interface BattleRegion {
id: number
name: string
}
export type ClubRankingList = ClubRanking[]
export interface ClubRanking {
tag: string
name: string
trophies: number
rank: number
memberCount: number
badgeId: number
}
export interface RegisterMatchRequest {
mode: string
players: RegisterMatchRequestPlayers
locationId: number
winsRequired: number
gadgetsAllowed: boolean
bannedBrawlers: BannedBrawlerList
timerPreset: string
}
export type BannedBrawlerList = BannedBrawlerEntry[]
export interface BannedBrawlerEntry {
id: number
side: number
}
export type RegisterMatchRequestPlayers = PlayerEntry[]
export interface PlayerEntry {
tag: string
side: number
}
export interface RegisterMatchResponse {
id: string
}
export type MatchLocationList = MatchLocation[]
export interface MatchLocation {
id: number
name: string
gameMode: string
}
export interface SetEsportsNotificationRequest {
type: string
players: List
ttl: number
}
export interface SetEsportsNotificationResponse {
notification: SetEsportsNotificationRequest
status: string
}
export interface Club {
tag: string
name: string
description: string
trophies: number
requiredTrophies: number
members: ClubMemberList
type: string
badgeId: number
}
export type ClubMemberList = ClubMember[]
export interface ClubMember {
icon: PlayerIcon
tag: string
name: string
trophies: number
role: string
nameColor: string
}
export type ScheduledEvents = ScheduledEvent[]
export interface ScheduledEvent {
event: ScheduledEventLocation
slotId: number
startTime: string
endTime: string
}
export interface ScheduledEventLocation {
mode: string
modifiers: EventModifierList
id: number
map: JsonLocalizedName
}
export type EventModifierList = 'unknown' | 'none' | 'energyDrink' | 'angryRobo' | 'meteorShower' | 'graveyardShift' | 'healingMushrooms' | 'bossFightRockets' | 'takedownLasers' | 'takedownChainLightning' | 'takedownRockets' | 'waves' | 'hauntedBall' | 'superCharge' | 'fastBrawlers' | 'showdown+' | 'peekABoo' | 'burningBall'
export interface Player {
club: PlayerClub
'3vs3Victories': number
isQualifiedFromChampionshipChallenge: boolean
icon: PlayerIcon
tag: string
name: string
trophies: number
expLevel: number
expPoints: number
highestTrophies: number
soloVictories: number
duoVictories: number
bestRoboRumbleTime: number
bestTimeAsBigBrawler: number
brawlers: BrawlerStatList
nameColor: string
}
export type BrawlerStatList = BrawlerStat[]
export interface BrawlerStat {
gadgets: AccessoryList
starPowers: StarPowerList
id: number
rank: number
trophies: number
highestTrophies: number
power: number
gears: GearStatList
name: JsonLocalizedName
}
export type GearStatList = GearStat[]
export interface GearStat {
name: JsonLocalizedName
id: number
level: number
}
export interface PlayerClub {
tag: string
name: string
}
export interface Match {
phase: string
initiativeSide: number
round: number
teams: MatchTeamList
terminationReason: string
games: CompletedGameList
players: PlayerMatchStatusList
state: string
id: string
}
export type PlayerMatchStatusList = PlayerMatchStatus[]
export interface PlayerMatchStatus {
brawler: BrawlerInfo
isReady: boolean
isInBattle: boolean
isOnline: boolean
hasJoined: boolean
tag: string
}
export interface BrawlerInfo {
gadget: Accessory
starPower: StarPower
trophyChange: number
gears: GearInfoList
power: number
trophies: number
name: JsonLocalizedName
id: number
}
export type GearInfoList = GearInfo[]
export interface GearInfo {
name: JsonLocalizedName
id: number
level: number
}
export type CompletedGameList = CompletedGame[]
export interface CompletedGame {
teams: CompletedGameTeamList
duration: number
location: MatchLocation
replayId: string
}
export type CompletedGameTeamList = CompletedGameTeam[]
export interface CompletedGameTeam {
score: number
isWinner: boolean
siege: SiegeStats
players: PlayerEntryCompletedGameList
}
export type PlayerEntryCompletedGameList = PlayerEntryCompletedGame[]
export interface PlayerEntryCompletedGame {
brawler: BrawlerInfo
statistics: Stats
tag: string
accountId: string
}
export interface Stats {
healingDone: number
deaths: number
damageDealt: number
kills: number
averageLatency: number
damageReceived: number
totalDamageToSafe: number
totalDamageToPets: number
siegeDamageToRobot: number
siegeBoltsCollected: number
brawlBallGoalsScored: number
gemGrabGemsCollected: number
gemGrabGemsLost: number
bountyStarsGained: number
bountyStarsLost: number
superUsedCount: number
gadgetUsedCount: number
bountyPickedMiddleStar: boolean
matchEndKillStreak: number
maxKillStreak: number
hotZoneInsideZonePercentage: number
healingDoneToSelf: number
healingDoneToTeamMates: number
objectivesRecovered: number
objectivesStolen: number
brawlBallShotsOnGoal: number
brawlBallShotsSaved: number
}
export interface SiegeStats {
botDamageToBase: number
botLevelByRound: List
}
export type MatchTeamList = MatchTeam[]
export interface MatchTeam {
players: MatchTeamPlayerList
bans: BrawlerInfoList
side: number
}
export type BrawlerInfoList = BrawlerInfo[]
export type MatchTeamPlayerList = MatchTeamPlayer[]
export interface MatchTeamPlayer {
causedTermination: boolean
tag: string
isLeader: boolean
brawler: BrawlerInfo
}
export interface CancelMatchResponse {
success: boolean
}
export type BattleList = Battle[]
export interface Battle {
battle: BattleResult
battleTime: string
event: Event
}
export interface Event {
mode: string
id: number
map: JsonLocalizedName
}
export type BrawlerList = Brawler[]
export interface ClientError {
reason: string
message: string
type: string
}