import { BlizzardNamespaces, Faction, GenderName, NameId, NameIdKey, Resource, ResponseBase } from "@blizzard-api/core";

//#region src/playable-race/types.d.ts
/**
 * The playable race index response.
 * @see {@link https://develop.battle.net/documentation/world-of-warcraft/game-data-apis}
 */
interface PlayableRaceIndexResponse extends ResponseBase {
  races: Array<NameIdKey>;
}
/**
 * The playable race response.
 * @see {@link https://develop.battle.net/documentation/world-of-warcraft/game-data-apis}
 */
interface PlayableRaceResponse extends NameId, ResponseBase {
  faction: Faction;
  gender_name: GenderName;
  is_allied_race: boolean;
  is_selectable: boolean;
  playable_classes: Array<NameIdKey>;
  racial_spells: Array<NameIdKey>;
}
//#endregion
//#region src/playable-race/index.d.ts
/**
 * Get a playable race by ID.
 * @param namespace The namespace to use. See {@link BlizzardNamespaces}.
 * @param playableRaceId The playable race ID.
 * @returns The playable race. See {@link PlayableRaceResponse}.
 */
declare function playableRace(namespace: Extract<BlizzardNamespaces, 'static-classic1x' | 'static-classic'>, playableRaceId: number): Resource<PlayableRaceResponse>;
/**
 * Get a playable race index.
 * @param namespace The namespace to use. See {@link BlizzardNamespaces}.
 * @returns The playable race index. See {@link PlayableRaceIndexResponse}.
 */
declare function playableRaceIndex(namespace: Extract<BlizzardNamespaces, 'static-classic1x' | 'static-classic'>): Resource<PlayableRaceIndexResponse>;
//#endregion
export { PlayableRaceResponse as i, playableRaceIndex as n, PlayableRaceIndexResponse as r, playableRace as t };
//# sourceMappingURL=index-BrwXCy4D.d.ts.map