import { i18n as I18N } from 'i18next'; import { PartialDeep } from 'type-fest'; import { Theme } from '@chargify/custom-ui-components'; import { CustomerDetails } from '@chargify/customer-details'; import { BillingHistory } from '@chargify/billing-history'; import { SubscriptionsManager } from '@chargify/subscriptions-manager'; import { I18NSettings } from './types'; export interface FactoryOptions { theme?: PartialDeep; i18nSettings?: I18NSettings; apiUrl?: string; accessTokenUrl: string; onAuthenticationRequest?: () => Record; onAuthenticationRequestAsync?: () => Promise>; } declare class ComponentsSDK { readonly theme: Theme; private i18n; private sessionManager; private dataAccess; private logger; private apiUrl; constructor({ theme, accessTokenUrl, onAuthenticationRequest, onAuthenticationRequestAsync, i18nSettings, apiUrl, }: FactoryOptions); private createI18NInstance; initI18N(): void; get i18nInstance(): I18N; create(component: 'billing-history'): BillingHistory; create(component: 'customer-details'): CustomerDetails; create(component: 'subscriptions-manager'): SubscriptionsManager; } export default ComponentsSDK;