diff --git a/riot-games-api/riot-games-api-tests.ts b/riot-games-api/riot-games-api-tests.ts
new file mode 100644
index 000000000..32815f2ca
--- /dev/null
+++ b/riot-games-api/riot-games-api-tests.ts
@@ -0,0 +1,10 @@
+///
+
+let champion: RiotGamesAPI.Champion.ChampionDto = {
+ active: true,
+ botEnabled: true,
+ botMmEnabled: false,
+ freeToPlay: false,
+ id: 42,
+ rankedPlayEnabled: false
+}
diff --git a/riot-games-api/riot-games-api.d.ts b/riot-games-api/riot-games-api.d.ts
new file mode 100644
index 000000000..8be033694
--- /dev/null
+++ b/riot-games-api/riot-games-api.d.ts
@@ -0,0 +1,1112 @@
+// Type definitions for Riot Games API
+// Project: https://developer.riotgames.com/
+// Definitions by: Xavier Stouder
+// Definitions: https://github.com/borisyankov/DefinitelyTyped
+
+declare module RiotGamesAPI{
+ /**
+ * champion-v1.2
+ */
+ module Champion{
+ interface ChampionDto{
+ active: boolean,
+ botEnabled: boolean,
+ botMmEnabled: boolean,
+ freeToPlay: boolean,
+ id: number,
+ rankedPlayEnabled: boolean
+ }
+ interface ChampionListDto{
+ champions: Array
+ }
+ }
+
+ /**
+ * current-game-v1.0
+ */
+ module CurrentGame{
+ interface CurrentGameInfo{
+ bannedChampion: Array,
+ gameId: number,
+ gameLength: number,
+ gameMode: number,
+ gameQueueConfigId: number,
+ gameStartTime: number,
+ gameType: string,
+ mapId: number,
+ observers: Observer,
+ participants: Array
+ platformId: string
+ }
+ interface BannedChampion{
+ championId: number,
+ pickTurn: number,
+ teamId: number
+ }
+ interface CurrentGameParticipant{
+ bot: boolean,
+ championId: number,
+ masteries: Array
+ profileIconId: number,
+ runes: Array,
+ spell1Id: number,
+ spell2Id: number,
+ summonerId: number,
+ summonerName: string,
+ teamId: number
+ }
+ interface Observer{
+ encryptionKey: string
+ }
+ interface Mastery{
+ masterId: number,
+ rank: number
+ }
+ interface Rune{
+ count: number,
+ runeId: number
+ }
+ }
+
+ /**
+ * featured-games-v1.0
+ */
+ module FeaturedGames{
+ interface FeaturedGames{
+ clientRefreshInterval: number,
+ gameList: Array
+ }
+ interface FeaturedGameInfo{
+ bannedChampions: Array
+ gameId: number,
+ gameLength: number,
+ gameMode: string,
+ gameQueueConfigId: number,
+ gameStartTime: number,
+ gameType: string,
+ mapId: number,
+ observers: Observer,
+ participants: Array,
+ plateformId: string
+ }
+ interface Participant{
+ bot: boolean,
+ championId: number,
+ profileIconId: number,
+ spell1Id: number,
+ spell2Id: number,
+ summonerName: string,
+ teamId: number
+ }
+ interface BannedChampion{
+ championId: number,
+ pickTurn: number,
+ teamId: number
+ }
+ interface Observer{
+ encryptionKey: string
+ }
+ }
+
+ /**
+ * game-v1.3
+ */
+ module Game{
+ interface RecentGamesDto{
+ games: Array,
+ summonerId: number
+ }
+ interface GameDto{
+ championId: number,
+ createDate: number,
+ fellowPlayers: Array,
+ gameId: number,
+ gameMode: string,
+ gameType: string,
+ invalid: boolean,
+ ipEarned: number,
+ level: number,
+ mapId: number,
+ spell1: number,
+ spell2: number
+ stats: RawStatsDto,
+ subType: string,
+ teamId: number
+ }
+ interface PlayerDto{
+ championId: number,
+ summonerId: number,
+ teamId: number
+ }
+ interface RawStatsDto{
+ assists: number,
+ barracksKilled: number,
+ championsKilled: number,
+ combatPlayerScore: number,
+ consumablesPurchased: number,
+ damageDealtPlayer: number,
+ doubleKills: number,
+ firstBlood: number,
+ gold: number,
+ goldEarned: number,
+ goldSpent: number,
+ item0: number,
+ item1: number,
+ item2: number,
+ item3: number,
+ item4: number,
+ item5: number,
+ item6: number,
+ itemsPurchased: number,
+ killingSprees: number,
+ largestCriticalStrike: number,
+ largestKillingSpree: number,
+ largestMultiKill: number,
+ legendaryItemsCreated: number,
+ level: number,
+ magicDamageDealtPlayer: number,
+ magicDamageDealtToChampions: number,
+ magicDamageTaken: number,
+ minionsDenied: number,
+ minionsKilled: number,
+ neutralMinionsKilled: number,
+ neutralMinionsKilledEnemyJungle: number,
+ neutralMinionsKilledYourJungle: number,
+ nexusKilled: boolean,
+ nodeCapture: number,
+ nodeCaptureAssist: number,
+ nodeNeutralize: number,
+ nodeNeutralizeAssist: number,
+ numDeaths: number,
+ numItemsBought: number,
+ objectivePlayerScore: number,
+ pentaKills: number,
+ physicalDamageDealtPlayer: number,
+ physicalDamageDealtToChampions: number,
+ physicalDamageTaken: number,
+ playerPosition: number,
+ playerRole: number,
+ quadraKills: number,
+ sightWardsBought: number,
+ spell1Cast: number,
+ spell2Cast: number,
+ spell3Cast: number,
+ spell4Cast: number,
+ summonSpell1Cast: number,
+ summonSpell2Cast: number,
+ superMonsterKilled: number,
+ team: number,
+ teamObjective: number,
+ timePlayed: number,
+ totalDamageDealt: number,
+ totalDamageDealtToChampions: number,
+ totalDamageTaker: number,
+ totalHeal: number,
+ totalPlayerScore: number,
+ totalScoreRank: number,
+ totalTimeCrowdControlDealt: number,
+ totalUnitsHealed: number,
+ tripleKills: number,
+ trueDamageDealtPlayer: number,
+ trueDamageDealtToChampions: number,
+ trueDamageTaken: number,
+ turrentsKilled: number,
+ unrealKills: number,
+ victoryPointTotal: number,
+ visionWardsBought: number,
+ wardKilled: number,
+ wardPlaced: number,
+ win: boolean
+ }
+ }
+
+ /**
+ * league-v2.5
+ */
+ module League{
+ interface LeagueDto{
+ entries: Array,
+ name: string,
+ participantId: string,
+ queue: string,
+ tier: string
+ }
+ interface LeagueEntryDto{
+ division: string,
+ isFreshBlood: boolean,
+ isHotStreak: boolean,
+ isInactive: boolean,
+ isVeteran: boolean,
+ leaguePoints: number,
+ losses: number,
+ miniSeries: MiniSeriesDto,
+ playerOrTeamId: string,
+ playerOrTeamName: string,
+ wins: number
+ }
+ interface MiniSeriesDto{
+ losses: number,
+ progress: string,
+ target: number,
+ wins: number
+ }
+ }
+
+ /**
+ * lol-static-data-v1.2
+ */
+ module LolStaticData{
+ interface ChampionListDto{
+ data: {[str: string]: ChampionDto},
+ format: string,
+ keys: {[str: string]: string},
+ type: string,
+ version: string
+ }
+ interface ChampionDto{
+ allytips: Array,
+ blurb: string,
+ enemytips: Array,
+ id: number,
+ image: ImageDto,
+ info: InfoDto,
+ key: string,
+ lore: string,
+ name: string,
+ partype: string,
+ passive: PassiveDto,
+ recommended: Array,
+ skins: Array,
+ spells: Array,
+ stats: StatsDto,
+ tags: Array,
+ title: string
+ }
+ interface ChampionSpellDto{
+ altimages: Array,
+ cooldown: Array,
+ cooldownBurn: string,
+ cost: Array,
+ costBurn: string,
+ costType: string,
+ description: string,
+ effect: Array>,
+ effectBurn: Array
+ image: ImageDto,
+ key: string,
+ leveltip: LevelTipDto,
+ maxrank: number,
+ name: string,
+ range: Array | string,
+ rangeBurn: string,
+ resource: string,
+ sanitizedDescription: string,
+ sanitizedTooltip: string,
+ tooltip: string,
+ vars: Array
+ }
+ interface ImageDto{
+ full: string,
+ group: string,
+ h: number,
+ sprite: string,
+ w: number,
+ x: number,
+ y: number
+ }
+ interface InfoDto{
+ attack: number,
+ defense: number,
+ difficulty: number,
+ magic: number
+ }
+ interface PassiveDto{
+ description: string,
+ image: ImageDto,
+ name: string,
+ sanitizedDescription: string
+ }
+ interface RecommendedDto{
+ block: Array,
+ champion: string,
+ map: string,
+ mode: string,
+ priority: boolean,
+ title: string,
+ type: string
+ }
+ interface SkinDto{
+ id: number,
+ name: string,
+ num: number
+ }
+ interface StatsDto{
+ armor: number,
+ armorperlevel: number,
+ attackdamage: number,
+ attackdamageperlevel: number,
+ attackrange: number,
+ attackspeedoffset: number,
+ attackspeedperlevel: number,
+ crit: number,
+ critperlevel: number,
+ hp: number,
+ hpperlevel: number,
+ hpregen: number,
+ hpregenperlevel: number,
+ movespeed: number,
+ mp: number,
+ mpperlevel: number,
+ mpregen: number,
+ mpregenperlevel: number,
+ spellblock: number,
+ spellblockperlevel: number
+ }
+ interface LevelTipDto{
+ effect: Array,
+ label: Array
+ }
+ interface SpellVarsDto{
+ coeff: Array,
+ dyn: string,
+ key: string,
+ link: string,
+ ranksWith: string
+ }
+ interface BlockDto{
+ items: Array,
+ recMath: boolean,
+ type: string
+ }
+ interface BlockItemDto{
+ count: number,
+ id: number
+ }
+ interface ItemListDto{
+ basic: BasicDataDto,
+ data: Array<{[str: string]: ItemDto}>
+ groups: Array,
+ tree: Array,
+ type: string,
+ version: string
+ }
+ interface BasicDataDto{
+ colloq: string,
+ consumeOnFull: boolean,
+ consumed: boolean,
+ depth: number,
+ description: string,
+ from: Array,
+ gold: GoldDto,
+ group: string,
+ hideFromAll: boolean,
+ id: number,
+ image: ImageDto,
+ inStore: boolean,
+ into: Array,
+ maps: Array<{[str: string]: boolean}>,
+ name: string,
+ plaintext: string,
+ requiredChampion: string,
+ rune: MetaDataDto,
+ sanitizedDescription: string,
+ specialRecipe: number,
+ stacks: number,
+ stats: BasicDataStatsDto,
+ tags: Array
+ }
+ interface GroupDto{
+ MaxGroupOwnable: string,
+ key: string
+ }
+ interface ItemDto{
+ colloq: string,
+ consumeOnFull: boolean,
+ consumed: boolean,
+ depth: number,
+ description: string,
+ effect: Array<{[str: string]: string}>,
+ from: Array,
+ gold: GoldDto,
+ group: string,
+ hideFromAll: boolean,
+ id: number,
+ image: ImageDto,
+ inStore: boolean,
+ into: Array,
+ maps: Array<{[str: string]: boolean}>,
+ name: string,
+ plaintext: string,
+ requiredChampion: string,
+ rune: MetaDataDto,
+ sanitizedDescription: string,
+ specialRecipe: number,
+ stacks: number,
+ stats: BasicDataStatsDto,
+ tags: Array
+ }
+ interface ItemTreeDto{
+ header: string,
+ tags: Array
+ }
+ interface BasicDataStatsDto{
+ FlatArmorMod: number,
+ FlatAttackSpeedMod: number,
+ FlatBlockMod: number,
+ FlatCritChanceMod: number,
+ FlatCritDamageMod: number,
+ FlatEXPBonus: number,
+ FlatEnergyPoolMod: number,
+ FlatEnergyRegenMod: number,
+ FlatHPPoolMod: number,
+ FlatHPRegenMod: number,
+ FlatMPPoolMod: number,
+ FlatMPRegenMod: number,
+ FlatMagicDamageMod: number,
+ FlatMovementSpeedMod: number,
+ FlatPhysicalDamageMod: number,
+ FlatSpellBlockMod: number,
+ PercentArmorMod: number,
+ PercentAttackSpeedMod: number,
+ PercentBlockMod: number,
+ PercentCritChanceMod: number,
+ PercentCritDamageMod: number,
+ PercentDodgeMod: number,
+ PercentEXPBonus: number,
+ PercentHPPoolMod: number,
+ PercentHPRegenMod: number,
+ PercentLifeStealMod: number,
+ PercentMPPoolMod: number,
+ PercentMPRegenMod: number,
+ PercentMagicDamageMod: number,
+ PercentMovementSpeedMod: number,
+ PercentPhysicalDamageMod: number,
+ PercentSpellBlockMod: number,
+ PercentSpellVampMod: number,
+ rFlatArmorModPerLevel: number,
+ rFlatArmorPenetrationMod: number,
+ rFlatArmorPenetrationModPerLevel: number,
+ rFlatCritChanceModPerLevel: number,
+ rFlatCritDamageModPerLevel: number,
+ rFlatDodgeMod: number,
+ rFlatDodgeModPerLevel: number,
+ rFlatEnergyModPerLevel: number,
+ rFlatEnergyRegenModPerLevel: number,
+ rFlatGoldPer10Mod: number,
+ rFlatHPModPerLevel: number,
+ rFlatHPRegenModPerLevel: number,
+ rFlatMPModPerLevel: number,
+ rFlatMPRegenModPerLevel: number,
+ rFlatMagicDamageModPerLevel: number,
+ rFlatMagicPenetrationMod: number,
+ rFlatMagicPenetrationModPerLevel: number,
+ rFlatMovementSpeedModPerLevel: number,
+ rFlatPhysicalDamageModPerLevel: number,
+ rFlatSpellBlockModPerLevel: number,
+ rFlatTimeDeadMod: number,
+ rFlatTimeDeadModPerLevel: number,
+ rPercentArmorPenetrationMod: number,
+ rPercentArmorPenetrationModPerLevel: number,
+ rPercentAttackSpeedModPerLevel: number,
+ rPercentCooldownMod: number,
+ rPercentCooldownModPerLevel: number,
+ rPercentMagicPenetrationMod: number,
+ rPercentMagicPenetrationModPerLevel: number,
+ rPercentMovementSpeedModPerLevel: number,
+ rPercentTimeDeadMod: number,
+ rPercentTimeDeadModPerLevel: number
+ }
+ interface GoldDto{
+ base: number,
+ purchasable: boolean,
+ sell: number,
+ total: number
+ }
+ interface MetaDataDto{
+ isRune: boolean,
+ tier: string,
+ type: string
+ }
+ interface LanguageStringsDto{
+ data: Array<{[str: string]: string}>,
+ type: string,
+ version: string
+ }
+ interface MapDataDto{
+ data: Array<{[str: string]: MapDetailsDto}>,
+ type: string,
+ version: string
+ }
+ interface MapDetailsDto{
+ image: ImageDto,
+ mapId: number,
+ mapName: string,
+ unpurchasableItemList: Array,
+ }
+ interface MasteryListDto{
+ data: Array<{[str: string]: MasteryDto}>,
+ tree: MasteryTreeDto,
+ type: string,
+ version: string
+ }
+ interface MasteryDto{
+ description: Array,
+ id: number,
+ image: ImageDto,
+ masteryTree: string,
+ name: string,
+ prereq: string,
+ ranks: number,
+ sanitizedDescription: Array
+ }
+ interface MasteryTreeDto{
+ Defense: Array,
+ Offense: Array,
+ Utility: Array
+ }
+ interface MasteryTreeListDto{
+ masteryTreeItems: Array
+ }
+ interface MasteryTreeItemDto{
+ masteryId: number,
+ prereq: string
+ }
+ interface RealmDto{
+ cdn: string,
+ css: string,
+ dd: string,
+ l: string,
+ lg: string,
+ n: Array<{[str: string]: string}>,
+ profileiconmax: number,
+ storage: string,
+ v: string
+ }
+ interface RuneListDto{
+ basic: BasicDataDto,
+ data: Array<{[str: string]: RuneDto}>,
+ type: string,
+ version: string
+ }
+ interface RuneDto{
+ colloq: string,
+ consumeOnFull: boolean,
+ consumed: boolean,
+ depth: number,
+ description: string,
+ from: Array,
+ group: string,
+ hideFromAll: boolean,
+ id: number,
+ image: ImageDto,
+ inStore: boolean,
+ into: Array,
+ maps: Array<{[str: string]: boolean}>,
+ name: string,
+ plaintext: string,
+ requiredChampion: string,
+ rune: MetaDataDto,
+ sanitizedDescription: string,
+ specialRecipe: number,
+ stacks: number,
+ stats: BasicDataStatsDto,
+ tags: Array
+ }
+ interface SummonerSpellListDto{
+ data: Array<{[str: string]: SummonerSpellDto}>,
+ type: string,
+ version: string
+ }
+ interface SummonerSpellDto{
+ cooldown: Array,
+ cooldownBurn: string,
+ cost: Array,
+ costBurn: string,
+ costType: string,
+ description: string,
+ effect: Array>,
+ effectBurn: Array,
+ id: number,
+ image: ImageDto,
+ key: string,
+ leveltip: LevelTipDto,
+ maxrank: number,
+ modes: Array,
+ name: string,
+ range: Array | string,
+ rangeBurn: string,
+ resource: string,
+ sanitizedDescription: string,
+ sanitizedTooltip: string,
+ summonerLevel: number,
+ tooltip: string,
+ vars: Array
+ }
+ }
+
+ /**
+ * lol-status-v1.0
+ */
+ module LolStatus{
+ interface Shard{
+ hostname: string,
+ locales: Array,
+ name: string,
+ region_tag: string,
+ slug: string
+ }
+ interface ShardStatus{
+ hostname: string,
+ locales: Array,
+ name: string,
+ region_tag: string,
+ services: Array
+ slug: string
+ }
+ interface Service{
+ incidents: Array,
+ name: string,
+ slug: string,
+ status: string
+ }
+ interface Incident{
+ active: boolean,
+ created_at: string,
+ id: number,
+ updates: Array
+ }
+ interface Message{
+ author: string,
+ content: string,
+ created_at: string,
+ id: number,
+ severity: string,
+ translations: Array,
+ updated_at: string
+ }
+ interface Translation{
+ content: string,
+ locale: string,
+ updated_at: string
+ }
+ }
+
+ /**
+ * match-v2.2
+ */
+ module Match{
+ interface MatchDetail{
+ mapId: number,
+ matchCreation: number,
+ matchId: number,
+ matchMode: string,
+ matchType: string,
+ matchVersion: string,
+ participantIdentities: Array,
+ participants: Array,
+ plateformId: string,
+ queueType: string,
+ region: string,
+ season: string,
+ teams: Array,
+ timeline: Timeline
+ }
+ interface Participant{
+ championId: number,
+ highestAchievedSeasonTier: string,
+ masteries: Array,
+ participantId: number,
+ runes: Array,
+ spell1Id: number,
+ spell2Id: number,
+ stats: ParticipantStats,
+ teamId: number,
+ timeline: ParticipantTimeline
+ }
+ interface ParticipantIdentity{
+ participantId: number,
+ player: Player
+ }
+ interface Team{
+ bans: Array,
+ baronKills: number,
+ dominionVictoryScore: number,
+ dragonKills: number,
+ firstBaron: boolean,
+ firstBlood: boolean,
+ firstDragon: boolean,
+ firstInhibitor: boolean,
+ firstTower: boolean,
+ inhibitorKills: number,
+ teamId: number,
+ towerKills: number,
+ vilemawKills: number,
+ winner: boolean
+ }
+ interface Timeline{
+ frameInverval: number,
+ frames: Array
+ }
+ interface Mastery{
+ masteryId: number,
+ rank: number
+ }
+ interface ParticipantStats{
+ assists: number,
+ champLevel: number,
+ combatPlayerScore: number,
+ deaths: number,
+ doubleKills: number,
+ firstBloodAssist: boolean,
+ firstBloodKill: boolean,
+ firstInhibitorAssist: boolean,
+ firstInhibitorKill: boolean,
+ firstTowerAssist: boolean,
+ firstTowerKill: boolean,
+ goldEarned: number,
+ goldSpent: number,
+ inhibitorKills: number,
+ item0: number,
+ item1: number,
+ item2: number,
+ item3: number,
+ item4: number,
+ item5: number,
+ item6: number,
+ killingSprees: number,
+ kills: number,
+ largestCriticalStrike: number,
+ largestKillingSpree: number,
+ largestMultiKill: number,
+ magicDamageDealt: number,
+ magicDamageDealtToChampions: number,
+ magicDamageTaken: number,
+ minionsKilled: number,
+ neutralMinionsKilled: number,
+ neutralMinionsKilledEnemyJungle: number,
+ neutralMinionsKilledTeamJungle: number,
+ nodeCapture: number,
+ nodeCaptureAssist: number,
+ nodeNeutralize: number,
+ nodeNeutralizeAssist: number,
+ objectivePlayerScore: number,
+ pentaKills: number,
+ physicalDamageDealt: number,
+ physicalDamageDealtToChampions: number,
+ physicalDamageTaken: number,
+ quadraKills: number,
+ sightWardsBoughtInGame: number,
+ teamObjective: number,
+ totalDamageDealt: number,
+ totalDamageDealtToChampions: number,
+ totalDamageTaken: number,
+ totalHeal: number,
+ totalPlayerScore: number,
+ totalScoreRank: number,
+ totalTimeCrowdControlDealt: number,
+ totalUnitsHealed: number,
+ towerKills: number,
+ tripleKills: number,
+ trueDamageDealt: number,
+ trueDamageDealtToChampions: number,
+ trueDamageTaken: number,
+ unrealKills: number,
+ visionWardsBoughtInGame: number,
+ wardsKilled: number,
+ wardsPlaced: number,
+ winner: boolean
+ }
+ interface ParticipantTimeline{
+ ancientGolemAssistsPerMinCounts: ParticipantTimelineData,
+ ancientGolemKillsPerMinCounts: ParticipantTimelineData,
+ assistedLaneDeathsPerMinDeltas: ParticipantTimelineData,
+ assistedLaneKillsPerMinDeltas: ParticipantTimelineData,
+ baronAssistsPerMinCounts: ParticipantTimelineData,
+ baronKillsPerMinCounts: ParticipantTimelineData,
+ creepsPerMinDeltas: ParticipantTimelineData,
+ csDiffPerMinDeltas: ParticipantTimelineData,
+ damageTakenDiffPerMinDeltas: ParticipantTimelineData,
+ damageTakenPerMinDeltas: ParticipantTimelineData,
+ dragonAssistsPerMinCounts: ParticipantTimelineData,
+ dragonKillsPerMinCounts: ParticipantTimelineData,
+ elderLizardAssistsPerMinCounts: ParticipantTimelineData,
+ elderLizardKillsPerMinCounts: ParticipantTimelineData,
+ goldPerMinDeltas: ParticipantTimelineData,
+ inhibitorAssistsPerMinCounts: ParticipantTimelineData,
+ inhibitorKillsPerMinCounts: ParticipantTimelineData,
+ lane: string,
+ role: string,
+ towerAssistsPerMinCounts: ParticipantTimelineData,
+ towerKillsPerMinCounts: ParticipantTimelineData,
+ towerKillsPerMinDeltas: ParticipantTimelineData,
+ vilemawAssistsPerMinCounts: ParticipantTimelineData,
+ vilemawKillsPerMinCounts: ParticipantTimelineData,
+ wardsPerMinDeltas: ParticipantTimelineData,
+ xpDiffPerMinDeltas: ParticipantTimelineData,
+ xpPerMinDeltas: ParticipantTimelineData
+ }
+ interface Rune{
+ rank: number,
+ runeId: number
+ }
+ interface Player{
+ matchHistoryUri: string,
+ profileIcon: number,
+ summonerId: number,
+ summonerName: string
+ }
+ interface BannedChampion{
+ championId: number,
+ pickTurn: number
+ }
+ interface Frame{
+ events: Array,
+ participanFrames: Array<{[str: string]: ParticipantFrame}>,
+ timestamp: number
+ }
+ interface ParticipantTimelineData{
+ tenToTwenty: number,
+ thirtyToEnd: number,
+ twentyToThirty: number,
+ zeroToTen: number
+ }
+ interface Event{
+ ascendedType: string,
+ assistingParticipantIds: Array,
+ buildingType: string,
+ creatorId: number,
+ eventType: string,
+ itemAfter: number,
+ itemBefore: number,
+ itemId: number,
+ killerId: number,
+ laneType: string,
+ levelUpType: string,
+ monsterType: string,
+ participantId: number,
+ pointCaptured: string,
+ position: Position,
+ skillSlot: number,
+ teamId: number,
+ timestamp: number,
+ towerType: string,
+ victimId: number,
+ wardType: string,
+ }
+ interface ParticipantFrame{
+ currentGold: number,
+ dominionScore: number,
+ jungleMinionsKilled: number,
+ level: number,
+ minionsKilled: number,
+ participantId: number,
+ position: Position,
+ teamScore: number,
+ totalGold: number,
+ xp: number
+ }
+ interface Position{
+ x: number,
+ y: number
+ }
+ }
+
+ /**
+ * matchlist-v2.2
+ */
+ module MatchList{
+ interface MatchList{
+ endIndex: number,
+ matches: Array,
+ startIndex: number,
+ totalGames: number
+ }
+ interface MatchReference{
+ champion: number,
+ lane: string,
+ matchId: number,
+ plateformId: string,
+ queue: string,
+ region: string,
+ role: string,
+ season: string,
+ timestamp: number
+ }
+ }
+
+ /**
+ * stats-v1.3
+ */
+ module Stats{
+ interface RankedStatsDto{
+ champions: Array,
+ modifyDate: number,
+ summonerId: number,
+ }
+ interface ChampionStatsDto{
+ id: number,
+ stats: AggregatedStatsDto
+ }
+ interface AggregatedStatsDto{
+ averageAssists: number,
+ averageChampionsKilled: number,
+ averageCombatPlayerScore: number,
+ averageNodeCapture: number,
+ averageNodeCaptureAssist: number,
+ averageNodeNeutralize: number,
+ averageNodeNeutralizeAssist: number,
+ averageNumDeaths: number,
+ averageObjectivePlayerScore: number,
+ averageTeamObjective: number,
+ averageTotalPlayerScore: number,
+ botGamesPlayed: number,
+ killingSpree: number,
+ maxAssists: number,
+ maxChampionsKilled: number,
+ maxCombatPlayerScore: number,
+ maxLargestCriticalStrike: number,
+ maxLargestKillingSpree: number,
+ maxNodeCapture: number,
+ maxNodeCaptureAssist: number,
+ maxNodeNeutralize: number,
+ maxNodeNeutralizeAssist: number,
+ maxNumDeaths: number,
+ maxObjectivePlayerScore: number,
+ maxTeamObjective: number,
+ maxTimePlayed: number,
+ maxTimeSpentLiving: number,
+ maxTotalPlayerScore: number,
+ mostChampionKillsPerSession: number,
+ mostSpellsCast: number,
+ normalGamesPlayed: number,
+ rankedPremadeGamesPlayed: number,
+ rankedSoloGamesPlayed: number,
+ totalAssists: number,
+ totalChampionKills: number,
+ totalDamageDealt: number,
+ totalDamageTaken: number,
+ totalDeathsPerSession: number,
+ totalDoubleKills: number,
+ totalFirstBlood: number,
+ totalGoldEarned: number,
+ totalHeal: number,
+ totalMagicDamageDealt: number,
+ totalMinionsKills: number,
+ totalNeutralMinionsKilled: number,
+ totalNodeCapture: number,
+ totalNodeNeutralize: number,
+ totalPentaKills: number,
+ totalPhysicalDamageDealt: number,
+ totalQuadraKills: number,
+ totalSessionsLost: number,
+ totalSessionsPlayed: number,
+ totalSessionsWon: number,
+ totalTripleKills: number,
+ totalTurretsKilleds: number,
+ totalUnrealKills: number
+ }
+ interface PlayerStatsSummaryListDto{
+ playerStatSummaries: Array,
+ summonerId: number
+ }
+ interface PlayerStatsSummaryDto{
+ aggregatedStats: AggregatedStatsDto,
+ losses: number,
+ modifyDate: number,
+ playerStatSummaryType: string,
+ wins: number
+ }
+ }
+
+ /**
+ * summoner-v1.4
+ */
+ module Summoner{
+ interface SummonerDto{
+ id: number,
+ name: string,
+ profileIconId: number,
+ revisionDate: number,
+ summonerLevel: number
+ }
+ interface MasteryPagesDto{
+ pages: Array,
+ summonerId: number
+ }
+ interface MasteryPageDto{
+ current: boolean,
+ id: number,
+ masteries: Array,
+ name: string
+ }
+ interface MasteryDto{
+ id: number,
+ rank: number
+ }
+ interface RunePagesDto{
+ pages: Array,
+ summonerId: number
+ }
+ interface RunePageDto{
+ current: boolean,
+ id: number,
+ name: string,
+ slots: Array
+ }
+ interface RuneSlotDto{
+ runeId: number,
+ runeSlotId: number
+ }
+ }
+
+ /**
+ * team-v2.4
+ */
+ module Team{
+ interface TeamDto{
+ createDate: number,
+ fullId: string,
+ lastGameDate: number,
+ lastJoinDate: number,
+ lastJoinedRankedTeamQueueDate: number,
+ matchHistory: Array,
+ modifyDate: number,
+ name: string,
+ roster: RosterDto,
+ secondLastJoinDate: number,
+ status: string,
+ tag: string,
+ teamStatDetails: Array,
+ thirdLastJoinDate: number
+ }
+ interface MatchHistorySummaryDto{
+ assists: number,
+ date: number,
+ deaths: number,
+ gameId: number,
+ gameMode: string,
+ invalid: boolean,
+ kills: number,
+ mapId: number,
+ opposingTeamKills: number,
+ opposingTeamName: string,
+ win: boolean
+ }
+ interface RosterDto{
+ memberList: Array,
+ ownerId: number
+ }
+ interface TeamStatDetailDto{
+ averageGamesPlayed: number,
+ losses: number,
+ teamStatType: string,
+ wins: number
+ }
+ interface TeamMemberInfoDto{
+ inviteDate: number,
+ joinDate: number,
+ playerId: number,
+ status: string
+ }
+ }
+}
\ No newline at end of file