/** User comparison: compatibility scoring, genre divergences, cross-recommendations */ import type { TasteProfile } from "./taste.js"; import type { AniListMediaListEntry } from "../types.js"; export interface SharedTitle { title: string; score1: number; score2: number; id: number; } /** Pearson-ish compatibility score (0-100) from shared title scores */ export declare function computeCompatibility(shared: Array<{ score1: number; score2: number; }>): number; /** Find genre preference differences between two profiles */ export declare function computeGenreDivergences(p1: TasteProfile, p2: TasteProfile, name1?: string, name2?: string): string[]; /** Find titles one user rated 8+ that the other hasn't seen */ export declare function findCrossRecs(sourceEntries: AniListMediaListEntry[], targetEntries: AniListMediaListEntry[], sourceUsername: string): string[];