import type { NotifyEvent } from './events.ts'; export type SendResult = 'sent' | 'skipped' | 'failed'; /** Exported for tests only — the time is injectable so day counting is provable. */ export declare const dedupe: (e: NotifyEvent, now?: number) => { action: "send" | "suppress"; stillRed?: number; }; /** * True when the last `notify()` call's whole outcome was a service card * refused for lack of a system project — an unknown project that could be * neither delivered nor reported. The CLI reads it to keep the run's stderr * to that one refusal line, the same discipline a broken config follows: * the word `failed` on the line is the verdict, and a second line would * bury it. */ export declare const serviceRefused: { current: boolean; }; /** * One slot per OFFENDER — project, type and the card's own instance key — * not per type (15.09.2026). Keyed by type, the red about a broken weekly * script went green the moment ANY other script of that type sent a clean * card, the reactor deleted the red and closed its issue, and next week the * same red counted as a first day again: an issue never filed. The slot is * both the watchdog card's key and the entry in the red memory below. */ export declare const brokenSlot: (e: NotifyEvent) => string; /** Exported for tests: remember that this offender's red is in the feed. */ export declare const rememberBroken: (slot: string, now?: number) => void; /** Exported for tests: true once — the slot was red and is forgotten now. */ export declare const forgetBroken: (slot: string) => boolean; /** * Exported for tests: the green that pairs with brokenCardEvent's red — same * key, same project. Addressed to the config's system project; when the * config names none, the send-side callers never reach for this card (one * line in stderr instead), and the placeholder keeps the builder honest. */ export declare const healedCardEvent: (e: NotifyEvent) => NotifyEvent; /** Exported for tests: the watchdog's own card must provably pass the lint. */ export declare const brokenCardEvent: (e: NotifyEvent, faults: string[], offenderHtml: string) => NotifyEvent; export declare const notify: (e: NotifyEvent) => Promise;