/** * Webhook Manager * * Manages webhook subscriptions and deliveries */ import { EventEmitter } from 'events'; import { WebhookConfig, WebhookPayload, WebhookDelivery, WebhookEvent } from './types'; export interface WebhookManagerConfig { defaultRetryConfig?: { maxRetries: number; retryDelays: number[]; }; timeout?: number; } export declare class WebhookManager extends EventEmitter { private webhooks; private deliveries; private retryQueue; private config; constructor(config?: WebhookManagerConfig); /** * Register a new webhook */ register(webhook: Omit): string; /** * Update webhook configuration */ update(id: string, updates: Partial): void; /** * Delete a webhook */ delete(id: string): void; /** * Get webhook by ID */ get(id: string): WebhookConfig | undefined; /** * List all webhooks */ list(): WebhookConfig[]; /** * Trigger webhook delivery for an event */ trigger(event: WebhookEvent, data: T, metadata?: Record): Promise; /** * Deliver payload to a webhook */ private deliver; /** * Attempt to deliver webhook */ private attemptDelivery; /** * Schedule retry for failed delivery */ private scheduleRetry; /** * Generate HMAC signature for webhook payload */ private generateSignature; /** * Verify webhook signature */ static verifySignature(secret: string, payload: WebhookPayload, signature: string): boolean; /** * Get delivery by ID */ getDelivery(id: string): WebhookDelivery | undefined; /** * List deliveries for a webhook */ listDeliveries(webhookId: string): WebhookDelivery[]; /** * Clean up old deliveries */ cleanup(olderThan: Date): number; /** * Shutdown manager and cancel pending retries */ shutdown(): void; } //# sourceMappingURL=manager.d.ts.map