/** Builds a weighted taste profile from a user's scored anime/manga list */ import type { AniListMediaListEntry } from "../types.js"; export interface WeightedItem { name: string; weight: number; count: number; } export interface ScoringPattern { meanScore: number; median: number; totalScored: number; distribution: Record; tendency: "high" | "low" | "balanced"; } export interface FormatBreakdown { format: string; count: number; percent: number; } export interface TasteProfile { genres: WeightedItem[]; tags: WeightedItem[]; themes: WeightedItem[]; scoring: ScoringPattern; formats: FormatBreakdown[]; totalCompleted: number; } /** Build a taste profile from scored list entries */ export declare function buildTasteProfile(entries: AniListMediaListEntry[]): TasteProfile; /** Summarize a taste profile as natural language */ export declare function describeTasteProfile(profile: TasteProfile, username: string): string; /** Detailed profile breakdown: genre weights, top themes, score distribution */ export declare function formatTasteProfileText(profile: TasteProfile): string[];