import type { AnomalyEvent } from '@manehorizons/cadence-types'; import type { Notifier } from './notifier.js'; export interface WebhookNotifierOptions { url: string; headers?: Record; /** Per-request timeout in ms. Defaults to 5000. */ timeoutMs?: number; /** Test seam: stand in for `process.stderr.write`. */ stderrWrite?: (chunk: string) => void; /** Test seam: stand in for global `fetch`. */ fetchImpl?: typeof fetch; } /** * POSTs the batched anomaly events to a user-provided URL as * `{events: AnomalyEvent[]}` JSON. Phase 19.1 generic webhook primitive — * bring your own bridge (Slack incoming, Discord webhook, Zapier catch, * n8n hook, continuity-runtime ingester, etc.). On any transport failure * (network / non-2xx / timeout) the notifier writes one stderr warning and * resolves — settle never breaks on transport errors. The URL is sensitive * (may carry a token) and is NEVER included in the failure message. */ export declare class WebhookNotifier implements Notifier { readonly name = "webhook"; private readonly url; private readonly headers; private readonly timeoutMs; private readonly stderrWrite; private readonly fetchImpl; constructor(opts: WebhookNotifierOptions); notify(events: AnomalyEvent[]): Promise; private warn; } //# sourceMappingURL=webhook.d.ts.map