import { type NotificationDescription } from "@slackwsh/core";
import type { NotificationJob, SearchIndexJob } from "./jobs";
export interface WebPushDelivery {
    userId: number;
    endpoint: string;
    p256dh: string;
    auth: string;
    payload: Pick<NotificationDescription, "title" | "body" | "route" | "tag">;
}
/**
 * Turns a committed `notifications` job into Web Push deliveries. Preference,
 * mute, DND, and "don't notify the author" all live here so the worker stays
 * a thin `web-push` sender.
 */
export declare function processNotificationJob(job: NotificationJob): Promise<WebPushDelivery[]>;
/** Postgres FTS is the live search path (ADR-007). GIN indexes update in the
 * same transaction as the message insert, so this job is currently a drain
 * no-op; Typesense indexing is a later swap-in of the same queue. */
export declare function processSearchIndexJob(_job: SearchIndexJob): Promise<{
    indexed: boolean;
}>;
//# sourceMappingURL=notify-jobs.d.ts.map