import { Character, Color, Faction, Gender, KeyBase, NameId, NameIdKey, Resource, ResponseBase } from "@blizzard-api/core";

//#region src/character-appearance/types.d.ts
interface CharacterAppearanceResponse extends ResponseBase {
  active_spec: NameIdKey;
  character: Character;
  customizations: Array<Customization>;
  faction: Faction;
  gender: Gender;
  guild_crest: GuildCrest;
  items: Array<Item>;
  playable_class: NameIdKey;
  playable_race: NameIdKey;
}
interface BorderEmblem {
  color: RGBWithId;
  id: number;
  media: KeyBase & {
    id: number;
  };
}
interface Choice {
  display_order: number;
  id: number;
  name?: null | string;
}
interface Customization {
  choice: Choice;
  option: NameId;
}
interface GuildCrest {
  background: {
    color: RGBWithId;
  };
  border: BorderEmblem;
  emblem: BorderEmblem;
}
interface Item {
  enchant: number;
  id: number;
  internal_slot_id: number;
  item_appearance_modifier_id?: number;
  secondary_id?: number;
  secondary_item_appearance_modifier_id?: number;
  secondary_subclass?: number;
  slot: {
    name: string;
    type: string;
  };
  subclass?: number;
}
interface RGBWithId {
  id: number;
  rgba: Color;
}
//#endregion
//#region src/character-appearance/index.d.ts
/**
 * @param realmSlug The slug of the realm.
 * @param characterName The lowercase name of the character.
 * @returns a summary of a character's appearance settings.
 */
declare function characterAppearanceSummary(realmSlug: string, characterName: string): Resource<CharacterAppearanceResponse>;
//#endregion
export { CharacterAppearanceResponse as n, characterAppearanceSummary as t };
//# sourceMappingURL=index-C-ahBWds.d.ts.map