export interface WebhookConfig { id: string; url: string; secret?: string; headers?: Record; events: string[]; table: string; enabled: boolean; } export interface WebhookDeliveryResult { webhookId: string; event: string; payload: Record; statusCode: number; responseBody: string; success: boolean; attemptNumber: number; } export declare class WebhookDispatcher { private webhooks; private maxRetries; private retryDelays; /** Register webhooks to watch */ setWebhooks(webhooks: WebhookConfig[]): void; /** Called when a entity changes — checks if any webhook matches */ onEntityChange(table: string, event: "INSERT" | "UPDATE" | "DELETE", id: string, entity: Record | null, previousEntity?: Record | null): Promise; private deliverWithRetry; private deliver; }