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

//#region src/modified-crafting/types.d.ts
/**
 * The response for a modified crafting category index.
 * @see {@link https://develop.battle.net/documentation/world-of-warcraft/game-data-apis}
 */
interface ModifiedCraftingCategoryIndexResponse extends ResponseBase {
  categories: Array<KeyBase & {
    id: number;
    name?: null | string;
  }>;
}
/**
 * The response for a modified crafting category.
 * @see {@link https://develop.battle.net/documentation/world-of-warcraft/game-data-apis}
 */
interface ModifiedCraftingCategoryResponse extends ResponseBase {
  id: number;
  name?: string;
}
/**
 * The response for a modified crafting index.
 * @see {@link https://develop.battle.net/documentation/world-of-warcraft/game-data-apis}
 */
interface ModifiedCraftingIndexResponse extends ResponseBase {
  categories: Href;
  slot_types: Href;
}
/**
 * The response for a modified crafting reagent slot type index.
 * @see {@link https://develop.battle.net/documentation/world-of-warcraft/game-data-apis}
 */
interface ModifiedCraftingReagentSlotTypeIndexResponse extends ResponseBase {
  slot_types: Array<SlotType>;
}
/**
 * The response for a modified crafting reagent slot type.
 * @see {@link https://develop.battle.net/documentation/world-of-warcraft/game-data-apis}
 */
interface ModifiedCraftingReagentSlotTypeResponse extends ResponseBase {
  compatible_categories: Array<NameIdKey>;
  description: string;
  id: number;
}
interface SlotType extends KeyBase {
  id: number;
  name?: null | string;
}
//#endregion
//#region src/modified-crafting/index.d.ts
/**
 * Get a modified crafting category by ID.
 * @param modifiedCraftingCategoryId The modified crafting category ID.
 * @returns The modified crafting category. See {@link ModifiedCraftingCategoryResponse}.
 */
declare function modifiedCraftingCategory(modifiedCraftingCategoryId: number): Resource<ModifiedCraftingCategoryResponse>;
/**
 * Get a modified crafting category index.
 * @returns The modified crafting category index. See {@link ModifiedCraftingCategoryIndexResponse}.
 */
declare function modifiedCraftingCategoryIndex(): Resource<ModifiedCraftingCategoryIndexResponse>;
/**
 * Get a modified crafting index.
 * @returns The modified crafting index. See {@link ModifiedCraftingIndexResponse}.
 */
declare function modifiedCraftingIndex(): Resource<ModifiedCraftingIndexResponse>;
/**
 * Get a modified crafting reagent slot type by ID.
 * @param modifiedCraftingReagentSlotTypeId The modified crafting reagent slot type ID.
 * @returns The modified crafting reagent slot type. See {@link ModifiedCraftingReagentSlotTypeResponse}.
 */
declare function modifiedCraftingReagentSlotType(modifiedCraftingReagentSlotTypeId: number): Resource<ModifiedCraftingReagentSlotTypeResponse>;
/**
 * Get a modified crafting reagent slot type index.
 * @returns The modified crafting reagent slot type index. See {@link ModifiedCraftingReagentSlotTypeIndexResponse}.
 */
declare function modifiedCraftingReagentSlotTypeIndex(): Resource<ModifiedCraftingReagentSlotTypeIndexResponse>;
//#endregion
export { modifiedCraftingReagentSlotTypeIndex as a, ModifiedCraftingIndexResponse as c, modifiedCraftingReagentSlotType as i, ModifiedCraftingReagentSlotTypeIndexResponse as l, modifiedCraftingCategoryIndex as n, ModifiedCraftingCategoryIndexResponse as o, modifiedCraftingIndex as r, ModifiedCraftingCategoryResponse as s, modifiedCraftingCategory as t, ModifiedCraftingReagentSlotTypeResponse as u };
//# sourceMappingURL=index-24YHmaTw.d.ts.map