import type { AuditorInput } from '../types/events.js'; export interface WebhookConfig { port: number; secret?: string; allowedSources?: string[]; } export interface WebhookEvent { source: 'github' | 'gitlab' | 'jenkins' | 'custom'; type: string; payload: Record; timestamp: string; signature?: string; } export type WebhookHandler = (event: WebhookEvent) => Promise; export declare class WebhookServer { private server; private config; private handlers; private onAuditRequest; constructor(config: WebhookConfig); registerHandler(eventType: string, handler: WebhookHandler): void; onAudit(callback: (input: AuditorInput) => Promise): void; private handleRequest; private detectSource; private getSignature; private getEventType; private verifySignature; private readBody; start(): Promise; stop(): Promise; } export declare const defaultHandlers: { 'github:pull_request': (event: WebhookEvent) => Promise; 'github:push': (event: WebhookEvent) => Promise; 'gitlab:merge_request': (event: WebhookEvent) => Promise; 'jenkins:build': (event: WebhookEvent) => Promise; };