import { KeyBase, MediaAsset, Resource, ResponseBase } from "@blizzard-api/core";

//#region src/mythic-keystone-affix/types.d.ts
/**
 * The response for a Mythic Keystone affix index.
 * @see {@link https://develop.battle.net/documentation/world-of-warcraft/game-data-apis}
 */
interface MythicKeystoneAffixIndexResponse extends ResponseBase {
  affixes: Array<KeyBase & {
    id: number;
    name: null | string;
  }>;
}
/**
 * The response for a Mythic Keystone affix media.
 * @see {@link https://develop.battle.net/documentation/world-of-warcraft/game-data-apis}
 */
interface MythicKeystoneAffixMediaResponse extends ResponseBase {
  assets?: Array<MediaAsset>;
  id: number;
}
/**
 * The response for a Mythic Keystone affix.
 * @see {@link https://develop.battle.net/documentation/world-of-warcraft/game-data-apis}
 */
interface MythicKeystoneAffixResponse extends ResponseBase {
  description: null | string;
  id: number;
  media: Media;
  name: null | string;
}
interface Media extends KeyBase {
  id: number;
}
//#endregion
//#region src/mythic-keystone-affix/index.d.ts
/**
 * Get a list of all Mythic Keystone affixes.
 * @param mythicKeystoneAffixId The ID of the Mythic Keystone affix.
 * @returns A list of all Mythic Keystone affixes. See {@link MythicKeystoneAffixIndexResponse}
 */
declare function mythicKeystoneAffix(mythicKeystoneAffixId: number): Resource<MythicKeystoneAffixResponse>;
/**
 * Get a list of all Mythic Keystone affixes.
 * @returns A list of all Mythic Keystone affixes. See {@link MythicKeystoneAffixIndexResponse}
 */
declare function mythicKeystoneAffixIndex(): Resource<MythicKeystoneAffixIndexResponse>;
/**
 * Get a list of all Mythic Keystone affix media.
 * @param mythicKeystoneAffixId The ID of the Mythic Keystone affix.
 * @returns A list of all Mythic Keystone affix media. See {@link MythicKeystoneAffixMediaResponse}
 */
declare function mythicKeystoneAffixMedia(mythicKeystoneAffixId: number): Resource<MythicKeystoneAffixMediaResponse>;
//#endregion
export { MythicKeystoneAffixMediaResponse as a, MythicKeystoneAffixIndexResponse as i, mythicKeystoneAffixIndex as n, MythicKeystoneAffixResponse as o, mythicKeystoneAffixMedia as r, mythicKeystoneAffix as t };
//# sourceMappingURL=index-UnB5HEVd.d.ts.map