/** * Webhook notifier — fire HTTP POST callbacks on crawl lifecycle events. * * Supports: crawl.started, crawl.progress, crawl.completed, crawl.failed * Payload format compatible with Slack, Discord, and generic REST webhooks. * Retries 3x on failure with exponential backoff. */ export type CrawlEventType = 'crawl.started' | 'crawl.progress' | 'crawl.completed' | 'crawl.failed'; export interface WebhookPayload { event: CrawlEventType; jobId: string; projectId: string; tenantId: string; timestamp: string; data: Record; } export interface WebhookNotifierOpts { url: string; secret?: string; headers?: Record; timeoutMs?: number; maxRetries?: number; } export declare class WebhookNotifier { private readonly opts; constructor(opts: WebhookNotifierOpts); notify(event: CrawlEventType, jobId: string, projectId: string, tenantId: string, data?: Record): Promise; /** Slack-compatible message format */ static slackPayload(event: CrawlEventType, data: Record): Record; }