import { type PartialRecord } from '@hitagi/utils/types'; import { PrimaryAttribute } from '../PrimaryAttribute/common'; export declare const DOTA_CONSTANTS_FRAGMENTS = "\n fragment Ability on AbilityType {\n id\n name\n language {\n displayName\n }\n isTalent\n stat {\n isUltimate\n behavior\n isGrantedByScepter\n isGrantedByShard\n }\n }\n fragment Hero on HeroType {\n id\n name\n language {\n displayName\n }\n aliases\n stats {\n primaryAttribute\n }\n talents {\n abilityId\n slot\n }\n abilities {\n abilityId\n }\n }\n fragment Item on ItemType {\n id\n name\n language {\n displayName\n }\n stat {\n cost\n needsComponents\n }\n components {\n componentId\n }\n }\n fragment GameVersion on GameVersionType {\n id\n name\n asOfDateTime\n }\n"; export type LanguageObject = { displayName: string | null; }; export type Ability = { id: number; name: string; language: LanguageObject | null; isTalent: boolean; stat: { isUltimate: boolean; behavior: number; isGrantedByScepter: boolean; isGrantedByShard: boolean; } | null; }; export type Hero = { id: number; name: string; language: LanguageObject | null; aliases: string[]; stats: { primaryAttribute: PrimaryAttribute; } | null; talents: Array<{ abilityId: number; slot: number; }>; abilities: Array<{ abilityId: number; }>; }; export type Item = { id: number; name: string; language: LanguageObject | null; stat: { cost: number; needsComponents: boolean; } | null; components: Array<{ componentId: number; }> | null; }; export type GameVersion = { id: number; name: string; asOfDateTime: number; }; type AbilityImageResolver = (id: number, abilityMap?: PartialRecord, loading?: boolean) => string; type HeroImageResolver = (id: number, variant: 'vert' | 'horz' | 'icon' | 'model' | 'modelcrop', heroMap?: PartialRecord, loading?: boolean) => string; type ItemImageResolver = (id: number, itemMap?: PartialRecord, loading?: boolean) => string; type MedalImageResolver = (tier: number, letter?: string, variant?: 'default' | 'mini') => string; type MedalStarsImageResolver = (count: number) => string; type RuneImageResolver = (enumValue: string) => string; type PlusHeroTierImageResolver = (tier: number) => string; type GuildTierImageResolver = (tier: string) => string; type FactionImageResolver = (isRadiant: boolean, isColorblind: boolean) => string; type PrimaryAttributeImageResolver = (value: PrimaryAttribute) => string; export type ImageResolvers = { ability: AbilityImageResolver; hero: HeroImageResolver; item: ItemImageResolver; medal: MedalImageResolver; medalStars: MedalStarsImageResolver; rune: RuneImageResolver; plusHeroTier: PlusHeroTierImageResolver; guildTier: GuildTierImageResolver; faction: FactionImageResolver; primaryAttribute: PrimaryAttributeImageResolver; }; export declare function clearAbilityImageCache(): void; export declare function clearHeroImageCache(): void; export declare function clearItemImageCache(): void; export declare const imageResolvers: ImageResolvers; export {};