import { Base } from './base'; import { CreateSubscriptionResponse, PaymentGatewayResponse, PaymentSignatureResponse, PassthroughFieldsResponse } from './types/response'; import { DeliveryAddress, PaymentOptions, PaymentSignature, ExposedSubscriptionHistory, FetchGatewayConfigOptions } from './types/subscription'; import { PaymentUserDetails, PaypalPaymentDetails } from './types/payment'; import { User } from './models/user'; export declare class Subscription extends Base { private membershipApi; private subscriptionApiKey; getSubscriptionHistoryByUserId(userId: string): Promise; getSubscriptionHistoryById(subscriptionNumber: string): Promise; private getSubscriptionHistoryFromUrl; createSubscription(user: User, paymentOptions: PaymentOptions, deviceId: string, deliveryAddress?: DeliveryAddress, ravelinBypassId?: string): Promise; private isMembershipError; fetchGatewayConfig(configOptions: FetchGatewayConfigOptions): Promise; getPassthroughFields(gatewayResponse: Record, userId: string, appId: string, countryCode: string, ftSession: string): PassthroughFieldsResponse; fetchGatewayName(paymentType: string, countryCode: string): Promise; validatePaymentSignature(signatureOptions: PaymentSignature): Promise; updateDefaultPaymentMethod(userId: string, newPaymentMethodId: string, paymentGateway?: string, isPayNow?: boolean): Promise; createPaymentMethod(user: PaymentUserDetails, paymentDetails: PaypalPaymentDetails): Promise<{ paymentMethodId: string; }>; }