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

//#region src/character-mythic-keystone-profile/types.d.ts
interface CharacterMythicKeystoneProfileIndexResponse extends ResponseBase {
  character: Character;
  current_period: CurrentPeriod;
  seasons: Array<KeyBase & {
    id: number;
  }>;
}
interface CharacterMythicKeystoneSeasonDetailsResponse extends ResponseBase {
  best_runs: Array<BestRun>;
  character: Character;
  mythic_rating: MythicRating;
  season: KeyBase & {
    id: number;
  };
}
interface BestRun {
  completed_timestamp: number;
  dungeon: NameIdKey;
  duration: number;
  is_completed_within_time: boolean;
  keystone_affixes: Array<NameIdKey>;
  keystone_level: number;
  members: Array<Member>;
  mythic_rating: MythicRating;
}
interface CurrentPeriod {
  period: KeyBase & {
    id: number;
  };
}
interface Member {
  character: NameId & {
    realm: Realm;
  };
  equipped_item_level: number;
  race: NameIdKey;
  specialization: NameIdKey;
}
interface MythicRating {
  color: Color;
  rating: number;
}
//#endregion
//#region src/character-mythic-keystone-profile/index.d.ts
/**
 * @param realmSlug The slug of the realm.
 * @param characterName The lowercase name of the character.
 * @returns Returns the Mythic Keystone season details for a character. Returns a 404 Not Found for characters that have not yet completed a Mythic Keystone dungeon for the specified season.
 */
declare function characterMythicKeystoneProfileIndex(realmSlug: string, characterName: string): Resource<CharacterMythicKeystoneProfileIndexResponse>;
/**
 * Returns the Mythic Keystone season details for a character.
 * Returns a 404 Not Found for characters that have not yet completed a Mythic Keystone dungeon for the specified season.
 * @param realmSlug The slug of the realm.
 * @param characterName The lowercase name of the character.
 * @param seasonId The ID of the season.
 * @returns the Mythic Keystone season details for a character.
 */
declare function characterMythicKeystoneSeasonDetails(realmSlug: string, characterName: string, seasonId: number): Resource<CharacterMythicKeystoneSeasonDetailsResponse>;
//#endregion
export { CharacterMythicKeystoneSeasonDetailsResponse as i, characterMythicKeystoneSeasonDetails as n, CharacterMythicKeystoneProfileIndexResponse as r, characterMythicKeystoneProfileIndex as t };
//# sourceMappingURL=index-ClW6ore3.d.ts.map