import Stripe from 'stripe';
export declare function isDirectStripeAccountReference(stripeAccountId: string): boolean;
export declare function createDirectStripeAccountReference(siteId: string): string;
export declare function getStripeClientForApiKey(apiKey: string): Stripe;
export declare function getStripeClient(): Stripe;
/**
 * Resolve a Stripe client for a payment-account reference.
 *
 * - Connect refs (acct_*) use the platform key + Stripe-Account header.
 * - Direct refs (direct:*) use STRIPE_DIRECT_API_KEY and no Stripe-Account header.
 */
export declare function getStripeClientForAccountReference(stripeAccountId?: string): Stripe;
export declare function resetStripeClient(): void;
/**
 * Get Stripe request options for Connect accounts.
 * Use this when making API calls on behalf of a connected account.
 *
 * @param stripeAccountId - The connected account ID (acct_xxx)
 * @returns Stripe request options with stripeAccount header
 */
export declare function getConnectRequestOptions(stripeAccountId: string): Stripe.RequestOptions;
/**
 * Get request options for Stripe API calls.
 * Returns Connect options if stripeAccountId is provided, undefined otherwise.
 *
 * @param stripeAccountId - Optional connected account ID
 * @returns Request options or undefined for platform calls
 */
export declare function getStripeRequestOptions(stripeAccountId?: string): Stripe.RequestOptions | undefined;
