import { Id } from "../types.mjs"; import { NotificationContract } from "../contracts/notification.contract.mjs"; import { NotificationColumnMap, ResolvedNotificationColumnMap } from "./column-map.mjs"; import { Model } from "@warlock.js/cascade"; //#region ../notifications/src/in-app/database-notification.d.ts declare abstract class DatabaseNotification extends Model implements NotificationContract { /** * Physical column bindings for THIS model's table. Override in the subclass; * the empty default resolves to `{ recipient: "user_id", readAt: "read_at" }`. */ static columnMap: NotificationColumnMap; /** The resolved column map for this row's model — defaults applied. */ protected get columns(): ResolvedNotificationColumnMap; get recipientId(): Id; /** Tenant scope value, or `undefined` for single-tenant models. */ get tenantId(): Id | undefined; get type(): string; get isRead(): boolean; get readAt(): Date | null; /** * Mark this row read. Sets whichever read-state column(s) the model * declares — the boolean (fast unread filtering) and/or the timestamp * (when it was read). Persists via `save()`. */ markRead(): Promise; } //#endregion export { DatabaseNotification }; //# sourceMappingURL=database-notification.d.mts.map