import { ApiSecurity, ApiUrl, AppDetails } from '../../shared'; import { CreateCheckoutSessionPayload, CreatePaymentSessionPayload, DisplayPrice, Invoice, PaymentMethod, ProductData, UserSubscription } from './types'; export declare class Payments { private readonly client; private readonly appDetails; private readonly apiSecurity; static client(apiUrl: ApiUrl, appDetails: AppDetails, apiSecurity: ApiSecurity): Payments; private constructor(); /** * Fetches the existing products and its details */ getProducts(): Promise; /** * Creates and returns a new session identifier for the client to go to payment platform * @param payload */ createSession(payload: CreatePaymentSessionPayload): Promise<{ id: string; }>; getSetupIntent(): Promise<{ clientSecret: string; }>; getDefaultPaymentMethod(): Promise; getInvoices({ startingAfter, limit }: { startingAfter?: string; limit?: number; }): Promise; getUserSubscription(): Promise; getPrices(): Promise; updateSubscriptionPrice(priceId: string): Promise; cancelSubscription(): Promise; createCheckoutSession(payload: CreateCheckoutSessionPayload): Promise<{ sessionId: string; }>; /** * Returns the needed headers for the module requests * @private */ private headers; }