import type { DatabaseSync } from 'node:sqlite'; export interface NotificationResult { id: string; ownerId: string; workspaceId: string; subjectId: string; } export type PublicationDecision = ({ action: 'settle'; } | { action: 'defer'; until: number; }) & { reason?: string; }; /** Publishes only database work. Transport calls belong to NotificationDispatcher, outside this transaction. */ export declare class NotificationResultOutbox { private readonly db; private readonly publish; private readonly clock; constructor(db: DatabaseSync, publish: (result: NotificationResult) => PublicationDecision, clock?: () => number); drainOne(): boolean; }