import { EventEmitter } from "events";
export interface WebhookServerConfig {
    port: number;
    host?: string;
    ssl?: {
        key: string;
        cert: string;
    };
    authToken?: string;
    rateLimit?: {
        windowMs: number;
        maxRequests: number;
    };
}
export declare class WebhookServer extends EventEmitter {
    private server?;
    private config;
    private requestCounts;
    constructor(config: WebhookServerConfig);
    start(): Promise<void>;
    stop(): Promise<void>;
    private handleRequest;
    private handleHealthCheck;
    private handleWebhook;
    private authenticateRequest;
    private validateWebhookEvent;
    private parseRequestBody;
    private checkRateLimit;
    private getClientIP;
    private sendError;
    getStatus(): {
        running: boolean;
        url?: string;
        connections: number;
    };
}
//# sourceMappingURL=WebhookServer.d.ts.map