@blizzard-api/classic-wow
Version:
A series of helpers to interact with the World of Warcraft Classic Blizzard API
163 lines (162 loc) • 3.85 kB
TypeScript
import { BlizzardNamespaces, Character, Color, KeyBase, NameIdKey, Resource, ResponseBase } from "@blizzard-api/core";
//#region src/character-equipment/types.d.ts
interface CharacterEquipmentSummaryResponse extends ResponseBase {
character: Character;
equipped_item_sets: Array<Set>;
equipped_items: Array<EquippedItem>;
}
interface Armor {
display: NameDescription;
value: number;
}
interface Damage {
damage_class: NameType;
display_string: string;
max_value: number;
min_value: number;
}
interface DisplayStrings {
copper: string;
gold: string;
header: string;
silver: string;
}
interface DisplayStringValue {
display_string: string;
value: number;
}
interface Effect {
display_string: string;
is_active?: boolean;
required_count: number;
}
interface Enchantment {
display_string?: string;
enchantment_id: number;
enchantment_slot: EnchantmentSlot;
source_item?: NameIdKey;
spell?: {
description: string;
spell: NameIdKey;
};
}
interface EnchantmentSlot {
id: number;
type?: string;
}
interface EquippedItem {
armor?: Armor;
binding: NameType;
bonus_list?: Array<number>;
context?: number;
description?: string;
durability?: DisplayStringValue;
enchantments?: Array<Enchantment>;
inventory_type: NameType;
is_subclass_hidden?: boolean;
item: KeyBase & {
id: number;
};
item_class: NameIdKey;
item_subclass: NameIdKey;
level?: DisplayStringValue;
limit_category?: string;
media: KeyBase & {
id: number;
};
modified_appearance_id?: number;
modified_crafting_stat?: Array<ModifiedCraftingStat>;
name: string;
name_description?: NameDescription;
quality: NameType;
quantity: number;
requirements?: Requirements;
sell_price?: SellPrice;
set?: Set;
slot: NameType;
sockets?: Array<Socket>;
spells?: Array<Spell>;
stats?: Array<Stat>;
transmog?: Transmog;
unique_equipped?: string;
upgrade_id?: number;
weapon?: Weapon;
}
interface ItemElement {
is_equipped?: boolean;
item: NameIdKey;
}
interface ModifiedCraftingStat {
id: number;
name: string;
type: string;
}
interface NameDescription {
color: Color;
display_string: string;
}
interface NameType {
name: string;
type: string;
}
interface PlayableClasses {
display_string: string;
links: Array<NameIdKey>;
}
interface Requirements {
level: DisplayStringValue;
playable_classes?: PlayableClasses;
}
interface SellPrice {
display_strings: DisplayStrings;
value: number;
}
interface Set {
display_string?: string;
effects?: Array<Effect>;
item_set?: NameIdKey;
items?: Array<ItemElement>;
}
interface Socket {
display_string: string;
item: NameIdKey;
media: KeyBase & {
id: number;
};
socket_type: NameType;
}
interface Spell {
description: string;
display_color?: Color;
spell: NameIdKey;
}
interface Stat {
display: NameDescription;
is_equip_bonus?: boolean;
is_negated?: boolean;
type: NameType;
value: number;
}
interface Transmog {
display_string: string;
item: NameIdKey;
item_modified_appearance_id: number;
}
interface Weapon {
attack_speed: DisplayStringValue;
damage: Damage;
dps: DisplayStringValue;
}
//#endregion
//#region src/character-equipment/index.d.ts
/**
* Returns a summary of the items equipped by a character.
* @param namespace The namespace to use. See {@link BlizzardNamespaces}.
* @param realmSlug The realm slug.
* @param characterName The character name.
* @returns The character equipment summary.
*/
declare function characterEquipmentSummary(namespace: Extract<BlizzardNamespaces, 'profile-classic1x' | 'profile-classic'>, realmSlug: string, characterName: string): Resource<CharacterEquipmentSummaryResponse>;
//#endregion
export { CharacterEquipmentSummaryResponse as n, characterEquipmentSummary as t };
//# sourceMappingURL=index-BHX6BR24.d.ts.map