declare enum AerosyncEnvironment { Sandbox = "sandbox", Production = "production" } interface WidgetEventSuccessType { connectionId: string; clientName: string; aeroPassUserUuid: string; } interface WidgetEventSuccessAccount { connectionId: string; accountType: string; accountNumberDisplay: string; } interface WidgetEventMultiAccountSuccessType { accounts: WidgetEventSuccessAccount[]; clientName: string; aeroPassUserUuid: string; } type WidgetSuccessPayload = WidgetEventSuccessType | WidgetEventMultiAccountSuccessType; interface WidgetEventType { payload: WidgetEventPayloadType; type: string; } interface WidgetEventPayloadType { pageTitle: string; onLoadApi: string; } interface WidgetEventBankClickType { type: string; stateCode: string; } declare enum WidgetMessageEventType { ONERROR = "widgetError", ONEVENT = "widgetPageLoaded", ONSUCCESS = "pageSuccess", ONCLOSE = "widgetClose", ONBANKCLICK = "widgetBankClick" } interface WidgetMessageType { type: WidgetMessageEventType; payload: WidgetMessagePayloadType; } type WidgetMessagePayloadType = WidgetEventType | WidgetSuccessPayload | WidgetEventPayloadType | WidgetEventBankClickType | string | object; interface WidgetConfigs { onLoad: () => void; onClose: () => void; onSuccess: (event: WidgetSuccessPayload) => void; onEvent: (event: WidgetEventType) => void; onError: (event: string) => void; config?: any; token: string; configurationId?: string; aeroPassUserUuid: string; targetDocument?: ShadowRoot; zIndex?: string; deeplink?: string; handleOAuthManually?: boolean; widgetLaunchType?: WidgetLaunchType; domain?: string; handleMFA?: boolean; jobId?: string; connectionId?: string; manualLinkOnly?: boolean; embeddedBankView?: embeddedBankViewType; style?: { bgColor?: string; opacity?: number; width?: string; height?: string; }; environment: AerosyncEnvironment; elementId: string; iframeTitle: string; theme?: WidgetThemeType; } type WidgetLaunchType = 'host' | 'systemBrowser' | 'inAppBrowser'; interface embeddedBankViewType { elementId: string; width?: string; height?: string; onEmbedded: () => void; } interface IframePropsType { source: string; width: string; height: string; elementId: string; } declare const WidgetThemes: { readonly Light: "light"; readonly Dark: "dark"; }; type WidgetThemeType = typeof WidgetThemes[keyof typeof WidgetThemes]; declare class AerosyncWidget { private widgetConfigs; private targetDocument; private targetElement; private widgetBaseURL; private widgetStateCode; private embeddedIframeElement; private hasMessageListener; private popupWindow; constructor(widgetConfigs: WidgetConfigs); private setWidgetBaseURL; private addWindowEventListener; private removeWindowEventListener; private constructUrl; getLaunchUrl(): string; private getWidgetQueryParams; launch(): void; private setIframeWindow; private showEmbeddedBanks; destroy(): void; toggleTheme(value: WidgetThemeType): void; private removeElements; private removePopWindow; exit(): void; private handlePostMessage; private handleWidgetEvent; private sendPostMessage; } declare function initAeroSyncWidget(widgetConfigs: WidgetConfigs): AerosyncWidget; declare const initWidget: typeof initAeroSyncWidget; export { AerosyncEnvironment, AerosyncWidget, type IframePropsType, type WidgetConfigs, type WidgetEventBankClickType, type WidgetEventMultiAccountSuccessType, type WidgetEventPayloadType, type WidgetEventSuccessAccount, type WidgetEventSuccessType, type WidgetEventType, type WidgetLaunchType, WidgetMessageEventType, type WidgetMessageType, type WidgetSuccessPayload, type WidgetThemeType, type embeddedBankViewType, initAeroSyncWidget, initWidget };