import type { SwishAppOptions, SwishEmbedData } from "./types"; import { AjaxApiClient } from "./ajax-api/ajax-api-client"; import { createElementLocator, createQueryParamsObserver } from "./dom/dom-utils"; import { EventBus } from "./events/event-bus"; import { StorefrontApiClient } from "./storefront-api/storefront-api-client"; import { SwishApi } from "./swish-api/swish-api-client"; export declare const VERSION: string; export declare const swishEmbedData: SwishEmbedData; export declare const swishApp: (options: SwishAppOptions) => Promise; export declare class SwishApp { private readonly swishApi; private readonly swishApiPublisher; private readonly storefrontApi; private readonly ajaxApi; private readonly ajaxApiPublisher; private readonly options; readonly events: EventBus; constructor(options: SwishAppOptions); get customer(): { id: string | null; email: string | null; firstName: string | null; lastName: string | null; b2b: boolean | null; }; get localization(): { country: string; language: string; market: number; }; get shopifyRoutes(): { accountUrl: string; accountLoginUrl: string; rootUrl: string; }; get api(): SwishApi; get storefront(): StorefrontApiClient; get ajax(): AjaxApiClient; get shopUrl(): string; readonly ui: { showSignIn: (options?: { returnTo?: string; }) => Promise; showVariantSelect: (options?: import(".").VariantSelectOptions) => Promise; initShopBridge: ({ onShopModalOpen, }: { onShopModalOpen: () => void; }) => Promise; showNotification: (options: { title?: string; text: string; image?: string; action?: { label: string; url?: string; onAction?: () => void; }; }) => Promise; hideAllNotifications: () => Promise; showListSelect: (options: import(".").ListSelectOptions) => Promise; showDrawer: () => Promise; showListEditor: (options?: { listId?: string; variantId?: string; onSubmit: (data: TData) => void | Promise; }) => Promise; showUnsaveAlert: (options: import(".").UnsaveAlertOptions) => Promise; hideModal: (element: string | HTMLElement) => Promise; showModal: (element: string | HTMLElement) => Promise; showListMenu: (options: { listId: string; onClose?: (data: { reason: string; }) => void; }) => Promise; showDeleteListAlert: (options: { listId: string; onSubmit?: () => void; onCancel?: () => void; }) => Promise; }; readonly dom: { createElementLocator: typeof createElementLocator; createQueryParamsObserver: typeof createQueryParamsObserver; }; }