import { BlizzardNamespaces, 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
/**
 * Returns media for a guild crest border by ID.
 * @param namespace The namespace to use. See {@link BlizzardNamespaces}.
 * @param borderId The guild crest border ID.
 * @returns The guild crest border. See {@link GuildCrestBorderEmblemResponse}.
 */
declare function guildCrestBorder(namespace: Extract<BlizzardNamespaces, 'static-classic1x' | 'static-classic'>, borderId: number): Resource<GuildCrestBorderEmblemResponse>;
/**
 * Returns an index of guild crest media.
 * @param namespace The namespace to use. See {@link BlizzardNamespaces}.
 * @returns The guild crest components index. See {@link GuildCrestComponentsIndexResponse}.
 */
declare function guildCrestComponentsIndex(namespace: Extract<BlizzardNamespaces, 'static-classic1x' | 'static-classic'>): Resource<GuildCrestComponentsIndexResponse>;
/**
 * Returns media for a guild crest emblem by ID.
 * @param namespace The namespace to use. See {@link BlizzardNamespaces}.
 * @param emblemId The guild crest emblem ID.
 * @returns The guild crest emblem. See {@link GuildCrestBorderEmblemResponse}.
 */
declare function guildCrestEmblem(namespace: Extract<BlizzardNamespaces, 'static-classic1x' | 'static-classic'>, emblemId: number): Resource<GuildCrestBorderEmblemResponse>;
//#endregion
export { GuildCrestComponentsIndexResponse as a, GuildCrestBorderEmblemResponse as i, guildCrestComponentsIndex as n, guildCrestEmblem as r, guildCrestBorder as t };
//# sourceMappingURL=index-Djpr-_AW.d.ts.map