import type { ConnectUIEvent } from './types.js'; import type { MaybePromise, Theme } from '@nangohq/types'; export type OnConnectEvent = (event: ConnectUIEvent) => MaybePromise; export interface ConnectUIProps { /** * The unique token to identify your user. It is required to make UI work but can be set asynchronously. */ sessionToken?: string | undefined; /** * The base URL to load the UI * @default `https://connect.nango.dev` */ baseURL?: string; /** * The base URL to reach Nango API * @default `https://api.nango.dev` */ apiURL?: string; /** * A callback to listen to events sent by Nango Connect */ onEvent?: OnConnectEvent; /** * Control OAuth popup close detection. * If set to false a closed popup will not be detected as a failed authorization * @default false */ detectClosedAuthWindow?: boolean; /** * The language to use for the UI. Defaults to browser language or english if not supported. * @example `en` or `fr` */ lang?: string; /** * The theme (light, dark, system) to use for the UI. * Overrides your global setting in the dashboard. */ themeOverride?: Theme; } export declare class ConnectUI { iframe: HTMLIFrameElement | null; private isReady; private listener; private sessionToken; private baseURL; private apiURL; private onEvent; private detectClosedAuthWindow?; private lang?; private themeOverride?; constructor({ sessionToken, baseURL, apiURL, detectClosedAuthWindow, onEvent, lang, themeOverride }: ConnectUIProps); /** * Open UI in an iframe and listen to events */ open(): void; private createIframe; private setupEventListeners; /** * Set the session token and send it to the Connect UI iframe */ setSessionToken(sessionToken: string): void; /** * Close UI and clear state */ close(): void; private sendSessionToken; } //# sourceMappingURL=connectUI.d.ts.map