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

//#region src/guild-crest/types.d.ts
/**
 * The response for a guild crest border or emblem.
 * @see {@link https://develop.battle.net/documentation/world-of-warcraft/game-data-apis}
 */
interface GuildCrestBorderEmblemResponse extends ResponseBase {
  assets: Array<GuildCrestAsset>;
  id: number;
}
/**
 * The response for the guild crest components index.
 * @see {@link https://develop.battle.net/documentation/world-of-warcraft/game-data-apis}
 */
interface GuildCrestComponentsIndexResponse extends ResponseBase {
  borders: Array<Border>;
  colors: Colors;
  emblems: Array<Border>;
}
interface Background {
  id: number;
  rgba: Color;
}
interface Border {
  id: number;
  media: Media;
}
interface Colors {
  backgrounds: Array<Background>;
  borders: Array<Background>;
  emblems: Array<Background>;
}
interface GuildCrestAsset {
  key: string;
  value: string;
}
interface Media extends KeyBase {
  id: number;
}
//#endregion
//#region src/guild-crest/index.d.ts
/**
 * Get a guild crest border by ID.
 * @param borderId The guild crest border ID.
 * @returns The guild crest border. See {@link GuildCrestBorderEmblemResponse}.
 */
declare function guildCrestBorder(borderId: number): Resource<GuildCrestBorderEmblemResponse>;
/**
 * Get the guild crest components index.
 * @returns The guild crest components index. See {@link GuildCrestComponentsIndexResponse}.
 */
declare function guildCrestComponentsIndex(): Resource<GuildCrestComponentsIndexResponse>;
/**
 * Get a guild crest emblem by ID.
 * @param emblemId The guild crest emblem ID.
 * @returns The guild crest emblem. See {@link GuildCrestBorderEmblemResponse}.
 */
declare function guildCrestEmblem(emblemId: number): Resource<GuildCrestBorderEmblemResponse>;
//#endregion
export { GuildCrestComponentsIndexResponse as a, GuildCrestBorderEmblemResponse as i, guildCrestComponentsIndex as n, guildCrestEmblem as r, guildCrestBorder as t };
//# sourceMappingURL=index-NuMhTMwW.d.ts.map