import StripeServer from "stripe";
export declare const stripe: StripeServer;
export declare function areEnvSettingsConfiguredForPaymentSystem(): boolean;
export declare function findStripeCustomerById(customerId: string): Promise<StripeServer.Response<StripeServer.Customer | StripeServer.DeletedCustomer>>;
export declare function findStripeCustomerByEmail(email: string): Promise<StripeServer.Customer>;
export declare function createStripeCustomer(name: string, email: string, workspaceId: string): Promise<StripeServer.Response<StripeServer.Customer>>;
export declare function hasStripeSubscription(customerId: string, priceId: string): Promise<boolean>;
export declare function createStripeSubscription(customerId: string, priceId: string, paymentMethodId: string): Promise<StripeServer.Response<StripeServer.Subscription>>;
export declare function createStripeTrialSubscription(customerId: string, priceId: string, paymentMethodId: string): Promise<StripeServer.Response<StripeServer.Subscription>>;
export declare function updateCustomerEmailIfNeeded(customerId: string, paymentMethodId: string): Promise<void>;
export declare function attachPaymentMethodToCustomer(customerId: string, paymentMethodId: string): Promise<void>;
export declare function retrievePaymentIntentFromSubscription(subscriptionId: string): Promise<StripeServer.PaymentIntent>;
export declare function confirmStripePayment(paymentIntentId: string, paymentMethodId: string, subscriptionId: string): Promise<StripeServer.Response<StripeServer.PaymentIntent>>;
export declare function cancelStripeSubscription(subscriptionId: string): Promise<{
    subscriptionId: any;
    subscriptionStatus: any;
    currentPeriodEndDate: any;
    endDate: any;
}>;
export declare function instantUpdateStripeSubscription(subscriptionId: string, priceId: string): Promise<StripeServer.Response<StripeServer.Subscription>>;
export declare function updateStripeSubscriptionWithoutProration(subscriptionId: string, priceId: string): Promise<StripeServer.Response<StripeServer.Subscription>>;
export declare function getSubscriptionFromPaymentIntent(paymentIntentId: string): Promise<string>;
export declare function getStripeSubscriptionData(subscriptionId: string): Promise<{
    status: StripeServer.Subscription.Status;
    currentPeriodEndDate: number;
    endDate: number;
    trialEnd: number;
}>;
export declare function cancelStripeSubscriptionById(subscriptionId: string): Promise<StripeServer.Response<StripeServer.Subscription>>;
export declare function processPaymentFailureAndCancelSubscription(error: StripeServer.errors.StripeError): Promise<void>;
export declare function getStripePaymentData(paymentIntentId: string): Promise<{
    currency: string;
    status: StripeServer.PaymentIntent.Status;
    amount: number;
    paymentMethodId: string | StripeServer.PaymentMethod;
}>;
export declare function getStripeSubscriptionStatus(paymentSystemSubscriptionId: string): Promise<StripeServer.Subscription.Status>;
export declare function changeStripeProductName(productId: string, newName: string): Promise<StripeServer.Response<StripeServer.Product>>;
export declare function changeStripeProductStatus(productId: string, isActive: boolean): Promise<StripeServer.Response<StripeServer.Product>>;
export declare function createStripeProductPricing(productId: string, currency: string, amount: number, resourceMetaId: string, billingInterval?: number, convertToCents?: boolean): Promise<StripeServer.Response<StripeServer.Price>>;
export declare function deactivateStripeProductPricing(pricingId: string): Promise<StripeServer.Response<StripeServer.Price>>;
export declare function createStripeProduct(productName: string, paymentPlanId: string): Promise<StripeServer.Response<StripeServer.Product>>;
export declare function deactivateStripeProduct(productName: string): Promise<void>;
export declare function getStripeProducts(): Promise<StripeServer.Product[]>;
export declare function getStripeProductIdByPriceId(priceId: string): Promise<string>;
export declare function setCustomerDefaultPaymentMethod(paymentMethodId: string, customerId: string): Promise<void>;
export declare function changeCustomerEmail(customerId: string, email: string): Promise<void>;
/** @internal */
export declare function getStripeDefaultPaymentMethod(customerId: string): Promise<StripeServer.Response<StripeServer.PaymentMethod>>;
