import StrivveService from './service/service'; import StrivveCore, { StrivveCoreOptions } from './core/strivveCore'; import StrivveComponent from './component/component'; import { Appearance, Localization, StrivveComponentClass, StrivveComponentInterface, StrivveComponentOptions, StrivveServiceClass, StrivveServiceOptions, mountAccountLinkViewOptions, mountHeaderOptions, mountIntroViewOptions, mountSelectSiteViewOptions } from './types'; declare global { interface Window { [key: string]: any; } } export interface mountLinkingJourneyStrivve { api_instance: string; card?: any; appearance?: Appearance; localization?: Localization; element_id: string; grant?: string; financial_institution?: string; card_id?: string; Component?: StrivveComponentClass; Service?: StrivveServiceClass; account_link?: mountAccountLinkViewOptions; select_site?: mountSelectSiteViewOptions; header?: mountHeaderOptions; intro?: mountIntroViewOptions; reset?: boolean; eventHandler?: (action: string, data?: any) => void; } export default class Strivve { core?: StrivveCore; component?: StrivveComponentInterface; createCore(options: StrivveCoreOptions): StrivveCore; createService: (options: StrivveServiceOptions) => StrivveService; createComponent: (options: StrivveComponentOptions) => StrivveComponent; mountLinkingJourney({ Component, Service, element_id, api_instance, card, appearance, localization, grant, card_id, select_site, account_link, financial_institution, reset, intro, header, eventHandler, }: mountLinkingJourneyStrivve): this; }