/** Cached taste profiles with hash-based invalidation. */ import type { TasteProfile } from "./taste.js"; import type { AniListMediaListEntry } from "../types.js"; /** Stable hash of entry IDs and scores to detect list changes */ export declare function computeListHash(entries: AniListMediaListEntry[]): string; /** Get a cached profile if the list hash matches */ export declare function getCachedProfile(key: string, listHash: string): TasteProfile | undefined; /** Store a profile in the cache */ export declare function setCachedProfile(key: string, profile: TasteProfile, listHash: string): void; /** Invalidate all profiles for a username */ export declare function invalidateUserProfiles(username: string): void; /** Clear all cached profiles */ export declare function clearProfileCache(): void;