import { Repository } from 'typeorm'; import { Queue } from 'bullmq'; import { WebhookEntity, WebhookDeliveryEntity } from '../entities'; import { CreateWebhookDto, UpdateWebhookDto, WebhookResponseDto, DeliveryResponseDto, TestWebhookDto, ListDeliveriesQueryDto, PaginatedDeliveriesDto, WebhookStatsDto } from '../dto'; export declare class WebhookService { private readonly webhookRepo; private readonly deliveryRepo; private readonly webhookQueue; private readonly logger; constructor(webhookRepo: Repository, deliveryRepo: Repository, webhookQueue: Queue); private generateSecret; signPayload(payload: object, secret: string): string; create(tenantId: string, userId: string, dto: CreateWebhookDto): Promise; findAll(tenantId: string): Promise; findOne(tenantId: string, webhookId: string): Promise; update(tenantId: string, webhookId: string, dto: UpdateWebhookDto): Promise; remove(tenantId: string, webhookId: string): Promise; regenerateSecret(tenantId: string, webhookId: string): Promise<{ secret: string; }>; testWebhook(tenantId: string, webhookId: string, dto: TestWebhookDto): Promise; getDeliveries(tenantId: string, webhookId: string, query: ListDeliveriesQueryDto): Promise; retryDelivery(tenantId: string, webhookId: string, deliveryId: string): Promise; getStats(webhookId: string): Promise; dispatch(tenantId: string, eventType: string, data: Record): Promise; getAvailableEvents(): { name: string; description: string; }[]; private toResponse; private toDeliveryResponse; }