import type { AuditEvent, AuditSink } from "../types.js";
export interface WebhookSinkOptions {
    url: string;
    token?: string;
    batchSize?: number;
    flushIntervalMs?: number;
}
/**
 * POSTs audit events to an HTTP endpoint. Events are batched and flushed
 * periodically. Delivery is best-effort: failed batches are re-enqueued once
 * (up to 5x batch capacity), then dropped with a warning. Failures never
 * block tool execution.
 */
export declare class WebhookSink implements AuditSink {
    readonly name = "webhook";
    private buffer;
    private inflightFlush;
    private timer;
    private readonly url;
    private readonly token?;
    private readonly batchSize;
    private readonly flushIntervalMs;
    constructor(options: WebhookSinkOptions);
    emit(event: AuditEvent): void;
    flush(): Promise<void>;
    private doFlush;
    close(): Promise<void>;
}
//# sourceMappingURL=webhook.d.ts.map