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

//#region src/mythic-raid-leaderboard/types.d.ts
type KnownRaidSlugs = 'battle-of-dazaralor' | 'crucible-of-storms' | 'nyalotha-the-waking-city' | 'the-eternal-palace' | 'uldir' | 'castle-nathria' | 'sanctum-of-domination' | 'sepulcher-of-the-first-ones' | 'aberrus-the-shadowed-crucible' | 'amirdrassil-the-dreams-hope' | 'vault-of-the-incarnates' | 'liberation-of-undermine' | 'manaforge-omega' | 'nerubar-palace' | 'march-on-queldanas' | 'the-dreamrift' | 'the-voidspire' | (string & {});
/**
 * The response for a Mythic Raid leaderboard.
 * @see {@link https://develop.battle.net/documentation/world-of-warcraft/game-data-apis}
 */
interface MythicRaidLeaderboardResponse extends ResponseBase {
  criteria_type: string;
  entries: Array<Entry>;
  journal_instance: JournalInstance;
  slug: string;
}
interface Entry {
  faction: {
    type: NonNeutralFactions;
  };
  guild: Guild;
  rank: number;
  region: Origins;
  timestamp: number;
}
interface Guild extends NameId {
  realm: Realm$1;
}
interface JournalInstance extends KeyBase {
  id: number;
  name: null | string;
}
interface Realm$1 {
  id: number;
  name: null | string;
  slug: string;
}
//#endregion
//#region src/mythic-raid-leaderboard/index.d.ts
/**
 * Get a Mythic Raid leaderboard by raid and faction.
 * @param raid The slug of the raid.
 * @param faction The faction. Either 'alliance' or 'horde'.
 * @returns The Mythic Raid leaderboard. See {@link MythicRaidLeaderboardResponse}.
 */
declare function mythicRaidLeaderboard(raid: KnownRaidSlugs, faction: Lowercase<NonNeutralFactions>): Resource<MythicRaidLeaderboardResponse>;
//#endregion
export { KnownRaidSlugs as n, MythicRaidLeaderboardResponse as r, mythicRaidLeaderboard as t };
//# sourceMappingURL=index-uqkeYZqW2.d.ts.map