export interface WebhookEvent<T = unknown> {
    id: string;
    type: string;
    timestamp: string;
    data: T;
}
export interface WebhookVerificationOptions {
    payload: string | Uint8Array | ArrayBuffer;
    signature: string;
    secret: string;
    timestamp?: string;
    maxAgeMs?: number;
}
export interface ParseWebhookEventOptions<T = unknown> extends WebhookVerificationOptions {
    payload: string | Uint8Array | ArrayBuffer;
    expectedType?: string;
    reviver?: Parameters<typeof JSON.parse>[1];
    validate?: (event: WebhookEvent<T>) => void;
}
export declare class WebhookVerificationError extends Error {
    constructor(message: string);
}
export declare function verifyWebhookSignature(payload: string | Uint8Array | ArrayBuffer, signature: string, secret: string): Promise<boolean>;
export declare function verifyWebhookSignature(options: WebhookVerificationOptions): Promise<boolean>;
export declare function parseWebhookEvent<T = unknown>(payload: string, signature: string, secret: string): Promise<WebhookEvent<T>>;
export declare function parseWebhookEvent<T = unknown>(options: ParseWebhookEventOptions<T>): Promise<WebhookEvent<T>>;
//# sourceMappingURL=webhooks.d.ts.map