import type { SurfaceBinding, TasteDecision, TasteProfile } from "./taste.js"; export interface TasteStore { getProfile(name: string): Promise; putProfile(profile: TasteProfile): Promise; listProfiles(): Promise>; getSurfaces(name: string): Promise; putSurfaces(name: string, bindings: SurfaceBinding[]): Promise; getDecisions(name: string): Promise; putDecisions(name: string, decisions: TasteDecision[]): Promise; appendDecision?(name: string, decision: TasteDecision): Promise; deleteAllUserData?(): Promise<{ deleted: number; remaining: number; }>; describe(name: string, kind: "profile" | "surfaces" | "decisions"): string; } export declare function tasteHome(): string; export declare class FsTasteStore implements TasteStore { getProfile(name: string): Promise; putProfile(profile: TasteProfile): Promise; listProfiles(): Promise>; getSurfaces(name: string): Promise; putSurfaces(name: string, bindings: SurfaceBinding[]): Promise; getDecisions(name: string): Promise; putDecisions(name: string, decisions: TasteDecision[]): Promise; describe(name: string, kind: "profile" | "surfaces" | "decisions"): string; } export declare class ClosedTasteStore implements TasteStore { getProfile(_name: string): Promise; putProfile(_profile: TasteProfile): Promise; listProfiles(): Promise>; getSurfaces(_name: string): Promise; putSurfaces(_name: string, _bindings: SurfaceBinding[]): Promise; getDecisions(_name: string): Promise; putDecisions(_name: string, _decisions: TasteDecision[]): Promise; describe(name: string, kind: "profile" | "surfaces" | "decisions"): string; }