/** CommunityDragon language folder name (e.g. default, zh_cn). */ type Lang = string; /** CDragon patch segment: latest | pbe | 15.24 | 15.24.1 */ type Patch = "latest" | "pbe" | (string & {}); type AssetCategory = "summoner-icons" | "summoner-icon-sets" | "summoner-emotes" | "ward-skins" | "ward-skin-sets" | "loot" | "champions" | "skinlines" | "universes" | "skins" | "added" | "version"; type CosmeticsCategory = "summoner-icons" | "summoner-icon-sets" | "summoner-emotes" | "ward-skins" | "ward-skin-sets" | "loot"; type SkinsDomainCategory = "champions" | "skinlines" | "universes" | "skins"; interface RegionalDescription { region: string; description: string; } interface RegionalRarity { region: string; rarity: number; } interface SummonerIcon { id: number; contentId?: string; title: string; yearReleased?: number; isLegacy?: boolean; /** Absolute HTTPS image URL after transform. */ imagePath: string; /** Flattened primary description when available. */ description: string; descriptions?: RegionalDescription[]; rarities?: RegionalRarity[]; disabledRegions?: string[]; } interface SummonerIconSet { id: number; name?: string; description?: string; iconIds?: number[]; [key: string]: unknown; } interface SummonerEmote { id: number; contentId?: string; name: string; description: string; /** Absolute HTTPS icon URL after transform. */ inventoryIcon: string; taggedChampionsIds?: number[]; [key: string]: unknown; } interface WardSkin { id: number; name: string; description: string; wardImagePath: string; wardShadowImagePath: string; contentId?: string; isLegacy?: boolean; regionalDescriptions?: RegionalDescription[]; rarities?: RegionalRarity[]; [key: string]: unknown; } interface WardSkinSet { id: number; name?: string; description?: string; [key: string]: unknown; } interface LootItem { id: string; name: string; description: string; image: string; startDate?: string; endDate?: string; mappedStoreId?: number; lifetimeMax?: number; autoRedeem?: boolean; rarity?: string; type?: string; [key: string]: unknown; } interface Champion { id: number; name: string; alias: string; /** Absolute portrait URL after transform. */ squarePortraitPath: string; roles: string[]; /** Normalized alias key (e.g. monkeyking → wukong). */ key: string; } type Role = "assassin" | "fighter" | "mage" | "marksman" | "support" | "tank" | (string & {}); interface Skinline { id: number; name: string; description: string; } interface Universe { id: number; name: string; description: string; /** Absolute image URL after transform. */ imagePath: string; skinSets: number[]; } interface Skins { [key: string]: Skin; } interface Skin { id: number; isBase: boolean; name: string; splashPath: string; uncenteredSplashPath: string; tilePath: string; loadScreenPath: string; skinType: SkinType | string; rarity: RarityEnum | string; isLegacy: boolean; splashVideoPath: null | string; collectionSplashVideoPath: null | string; collectionCardHoverVideoPath?: null | string; featuresText: null | string; chromaPath?: null | string; emblems: Emblem[] | null; regionRarityId: number; rarityGemPath: string | null; skinLines: SkinLineRef[] | null; description: null | string; loadScreenVintagePath?: string; chromas?: Chroma[]; skinAugments?: SkinAugments; questSkinInfo?: QuestSkinInfo; [key: string]: unknown; } interface Emblem { name: string; emblemPath: { large: string; small: string; }; positions: object; } interface Chroma { id: number; name: string; chromaPath: string; colors: string[]; descriptions: { region: string; description: string; }[]; rarities: { region: string; rarity: number; }[]; skinAugments?: SkinAugments; } interface SkinAugments { borders: Borders; augments?: Augment[]; } interface Augment { contentId: string; overlays: Overlay[]; } interface Overlay { centeredLCOverlayPath: string; uncenteredLCOverlayPath: string; socialCardLCOverlayPath: string; tileLCOverlayPath: string; } interface Borders { layer0: Layer[]; layer1?: Layer[]; } interface Layer { contentId: string; layer: number; priority: number; borderPath: string; } interface QuestSkinInfo { name: string; productType: string; collectionDescription: string; descriptionInfo: DescriptionInfo[]; splashPath: string; uncenteredSplashPath: string; tilePath: string; collectionCardPath: string; tiers: Tier[]; } interface DescriptionInfo { title: string; description: string; iconPath: string; } interface Tier { id: number; name: string; stage: number; description: string; splashPath: string; uncenteredSplashPath: string; tilePath: string; loadScreenPath: string; shortName: string; splashVideoPath: null | string; collectionSplashVideoPath: null | string; collectionCardHoverVideoPath?: null | string; skinAugments?: SkinAugments; loadScreenVintagePath?: string; } declare enum RarityEnum { KEpic = "kEpic", KLegendary = "kLegendary", KMythic = "kMythic", KNoRarity = "kNoRarity", KRare = "kRare", KTranscendent = "kTranscendent", KUltimate = "kUltimate" } interface SkinLineRef { id: number; } declare enum SkinType { Empty = "", Ultimate = "Ultimate" } interface Added { skins: string[]; champions: number[]; skinlines: number[]; universes: number[]; } interface VersionInfo { /** Game / ddragon version, e.g. 15.24.1 */ v: string; n?: Record; l?: string; cdn?: string; dd?: string; lg?: string; css?: string; profileiconmax?: number; store?: unknown; [key: string]: unknown; } interface DataManifest { schemaVersion: number; gameVersion: string; generatedAt: string; patchUsed: string; languages: string[]; categories: string[]; files: Record; } type CategoryDataMap = { "summoner-icons": SummonerIcon[]; "summoner-icon-sets": SummonerIconSet[]; "summoner-emotes": SummonerEmote[]; "ward-skins": WardSkin[]; "ward-skin-sets": WardSkinSet[]; loot: LootItem[]; champions: Champion[]; skinlines: Skinline[]; universes: Universe[]; skins: Skins; added: Added; version: VersionInfo; }; type CategoryData = CategoryDataMap[C]; export { type Added, type AssetCategory, type Augment, type Borders, type CategoryData, type CategoryDataMap, type Champion, type Chroma, type CosmeticsCategory, type DataManifest, type DescriptionInfo, type Emblem, type Lang, type Layer, type LootItem, type Overlay, type Patch, type QuestSkinInfo, RarityEnum, type RegionalDescription, type RegionalRarity, type Role, type Skin, type SkinAugments, type SkinLineRef, SkinType, type Skinline, type Skins, type SkinsDomainCategory, type SummonerEmote, type SummonerIcon, type SummonerIconSet, type Tier, type Universe, type VersionInfo, type WardSkin, type WardSkinSet };