import { PurchasesOfferings, PurchasesPackage } from '../revenuecat-types';
import { CustomerInfo, PurchasesConfig } from '../types';
export interface PaymentSheetParams {
    paymentIntent: string;
    ephemeralKey: string;
    customer: string;
}
export interface CheckoutSessionResponse {
    url: string;
}
export interface ManageSubscriptionResponse {
    url: string;
}
export interface StripeInformation {
    publishableKey: string;
    stripeAccountId: string;
}
export interface MakePurchaseResult {
    customerInfo: CustomerInfo;
}
declare class BackendClient {
    private config;
    configure(config: PurchasesConfig): void;
    private logEvent;
    private createError;
    private fetchApi;
    fetchOfferings(provider?: string): Promise<PurchasesOfferings>;
    getCustomerInfo(appUserId: string): Promise<CustomerInfo>;
    login(appUserId: string): Promise<{
        customerInfo: CustomerInfo;
        created: boolean;
    }>;
    postPurchase(appUserId: string, productId: string, purchaseToken: string, transactionId: string, receipt: string, platform: 'ios' | 'android'): Promise<MakePurchaseResult>;
    fetchPaymentSheetParams(appUserId: string, pkg: PurchasesPackage): Promise<PaymentSheetParams>;
    createCheckoutSession(appUserId: string, pkg: PurchasesPackage): Promise<CheckoutSessionResponse>;
    createManageSubscriptionSession(appUserId: string): Promise<ManageSubscriptionResponse>;
    getStripeInformation(): Promise<StripeInformation>;
    restorePurchases(appUserId: string, appleTransactionId: string): Promise<{
        customerInfo: CustomerInfo;
    }>;
    linkAlias(oldId: string, newId: string): Promise<void>;
}
export declare const backendClient: BackendClient;
export {};
//# sourceMappingURL=backendClient.d.ts.map