/**
 * Stripe Webhook ingestor.
 *
 * A concrete webhook ingestor that handles Stripe webhook events with
 * HMAC-SHA256 signature verification and timestamp-based replay protection.
 *
 * Extends the generic `WebhookIngestor` base class, implementing Stripe-specific
 * signature verification (via `Stripe-Signature` header), event type extraction
 * (from JSON body `type` field), and data shaping.
 *
 * @see https://docs.stripe.com/webhooks
 */
import { WebhookIngestor } from './base-webhook-ingestor.js';
export declare class StripeWebhookIngestor extends WebhookIngestor {
    /**
     * Verify the Stripe webhook signature.
     *
     * If both `signatureHeader` and `signatureSecretName` are configured,
     * the signature is verified using Stripe's `t=<timestamp>,v1=<sig>` scheme.
     * If either is absent, verification is skipped.
     */
    protected verifySignature(headers: Record<string, string | string[] | undefined>, rawBody: Buffer): {
        valid: boolean;
        reason?: string;
    };
    /**
     * Extract the event type from the Stripe event JSON body.
     *
     * Stripe encodes the event type in the body's `type` field
     * (e.g., 'payment_intent.succeeded', 'invoice.paid').
     */
    protected extractEventType(_headers: Record<string, string | string[] | undefined>, body: unknown): string;
    /**
     * Extract event data in the Stripe-specific shape:
     * `{ eventId, type, payload }`.
     */
    protected extractEventData(_headers: Record<string, string | string[] | undefined>, body: unknown): unknown;
    /**
     * Extract the Stripe event ID as the idempotency key.
     *
     * Each Stripe event carries a unique `id` field (e.g., 'evt_1234...').
     * Using this as the idempotency key prevents duplicate events
     * from webhook retries.
     */
    protected extractIdempotencyKey(_headers: Record<string, string | string[] | undefined>, body: unknown): string | undefined;
}
//# sourceMappingURL=stripe-webhook-ingestor.d.ts.map