import { PrismaService } from "../../../../core/database/prisma/prisma.service";
import { CreateWebhookDto, UpdateWebhookDto, TestWebhookDto, WebhookResponse, WebhookLogResponse, QueryWebhookLogsDto } from '../dto/webhook.dto';
import { PaginatedResponse } from '../dto/query.dto';
import { RegionId } from '../decorators/region.decorator';
export declare class WebhookService {
    private readonly prisma;
    private readonly logger;
    constructor(prisma: PrismaService);
    create(dto: CreateWebhookDto, organizationId: string | null, userId: string): Promise<WebhookResponse>;
    findAll(organizationId?: string | null): Promise<WebhookResponse[]>;
    findOne(id: string, organizationId?: string | null): Promise<WebhookResponse>;
    update(id: string, dto: UpdateWebhookDto, organizationId?: string | null, userId?: string): Promise<WebhookResponse>;
    remove(id: string): Promise<{
        deleted: boolean;
    }>;
    sendTestEvent(id: string, dto: TestWebhookDto): Promise<WebhookLogResponse>;
    findLogs(id: string, query: QueryWebhookLogsDto): Promise<PaginatedResponse<WebhookLogResponse>>;
    triggerEvent(eventType: string, payload: any, regionId: RegionId): Promise<void>;
    private deliverAndLog;
    private scheduleRetries;
    private generateSecret;
    private generateSignature;
    private executeWebhook;
    private mapToResponse;
    private mapLogToResponse;
}
