type GMMConfig = { apiKey: string; apiSecret: string; webhookSecret?: string; origin: string; environment?: "sandbox" | "production"; timeout?: number; maxRetries?: number; }; type RequestOptions = { idempotencyKey?: string; headers?: Record; retries?: number; }; type Interceptor = { onRequest?: (config: any) => Promise | any; onResponse?: (response: any) => Promise | any; onError?: (error: any) => Promise | any; }; type Plugin = { name: string; setup: (sdk: any) => void; }; type ICheckoutItem = { id: number | string; name: string; quantity: number; price: number; }; type CheckoutSessionPayload = { currency?: string; customer_email: string; metadata?: Record; items: ICheckoutItem[]; }; type CheckoutSessionResponse = { checkout_url: string; }; export type { CheckoutSessionPayload as C, GMMConfig as G, Interceptor as I, Plugin as P, RequestOptions as R, CheckoutSessionResponse as a };