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

//#region src/title/types.d.ts
/**
 * The response for a title index.
 * @see {@link https://develop.battle.net/documentation/world-of-warcraft/game-data-apis}
 */
interface TitleIndexResponse extends ResponseBase {
  titles: Array<NameIdKey>;
}
/**
 * The response for a title.
 * @see {@link https://develop.battle.net/documentation/world-of-warcraft/game-data-apis}
 */
interface TitleResponse extends NameId, ResponseBase {
  gender_name: GenderName;
  source?: TitleSource;
}
interface TitleSource {
  achievements?: Array<NameIdKey>;
  quests?: Array<NameIdKey>;
  type: {
    name: string;
    type: 'ACHIEVEMENT';
  } | {
    name: string;
    type: 'QUEST';
  };
}
//#endregion
//#region src/title/index.d.ts
/**
 * Get a title by ID.
 * @param titleId The title ID.
 * @returns The title. See {@link TitleResponse}.
 */
declare function title(titleId: number): Resource<TitleResponse>;
/**
 * Get a title index.
 * @returns The title index. See {@link TitleIndexResponse}.
 */
declare function titleIndex(): Resource<TitleIndexResponse>;
//#endregion
export { TitleResponse as i, titleIndex as n, TitleIndexResponse as r, title as t };
//# sourceMappingURL=index-CHD7afgy2.d.ts.map