@altostra/core
Version:
Core library for shared types and logic
21 lines (20 loc) • 1.34 kB
TypeScript
import type { NonEmptyString } from "../../../common/CustomTypes/NonEmptyString";
import type { ErrorMapping, IdentityToken } from "../common";
import { ServiceClientBase } from "../ServiceClientBase";
import type { CreatedSubscriptionPaymentResult, CreateSubscriptionPaymentOptions, GetApplicablePlansResponse, GetSubscriptionPlansResponse, SetBillingCycleOptions, SubscriptionInfo, UpdateSubscriptionPaymentOptions, UpdateSubscriptionPaymentResult } from "./Types";
export interface PaymentsServiceOptions {
endpoint?: string;
getToken: () => Promise<IdentityToken>;
errorMapping?: ErrorMapping;
}
export declare class PaymentsService extends ServiceClientBase {
#private;
constructor({ endpoint, getToken, errorMapping, }: PaymentsServiceOptions);
getSubscriptionInfo(): Promise<SubscriptionInfo>;
createSubscriptionPayment(options?: CreateSubscriptionPaymentOptions): Promise<CreatedSubscriptionPaymentResult>;
updateSubscriptionPayment(options?: UpdateSubscriptionPaymentOptions): Promise<UpdateSubscriptionPaymentResult>;
upgradeSubscriptionBillingCycle(options: SetBillingCycleOptions): Promise<void>;
getSubscriptionPlans(): Promise<GetSubscriptionPlansResponse>;
getApplicablePlans(): Promise<GetApplicablePlansResponse>;
updateSubscriptionPlan(planId: NonEmptyString): Promise<void>;
}