import type { AppId, IsoDateTime } from "@vendoai/core"; import type { EngineOps } from "./engine.js"; /** The generic collection the seen rows live in (never a dedicated table). */ export declare const APP_SEEN_COLLECTION = "vendo_app_seen"; /** What one row holds. */ export interface AppSeenRow { seenAt: IsoDateTime; } export interface AppSeenStore { /** Idempotent: the first render wins and every later one costs one refusal. */ mark(appId: AppId, subject: string): Promise; /** Which of `appIds` this person has never had rendered to them. */ unseen(appIds: readonly AppId[], subject: string): Promise>; /** Drop every person's read state for one app (app-deletion cleanup). */ clearForApp(appId: AppId): Promise; } export declare const appSeenStore: (engine: EngineOps) => AppSeenStore; //# sourceMappingURL=app-seen.d.ts.map