import { Signal } from "../state"; import { SwishApp } from "../swish"; import { PreviewOptions } from "../types"; import type { SwishUiElement } from "./swish-ui-element"; import { ConfirmDialogOptions, DeleteListAlertOptions, DrawerOptions, ListDetailPageMenuOptions, ListEditorOptions, ListEditorSubmitData, ListMenuOptions, ListMenuResponse, ListSelectOptions, ListSelectResponse, NotifyMeOptions, NotifyMeSubmitData, OrderMenuOptions, OrderMenuResponse, QuickBuyOptions, QuickBuySubmitData, RequireUiComponentOptions, ShowToastOptions, SignInOptions, Toast, UiResponse, UnsaveAlertOptions, UnsaveAlertSubmitData, VariantSelectOptions, VariantSelectSubmitData } from "./types"; export declare class SwishUi { swishApp: SwishApp; private readonly inflightModals; private readonly modalsWithScrollLock; private lastDrawerOptions; private scrollLockStyleSheet; private scrollLockRefCount; private scrollPositionBeforeLock; private readonly inertedByLock; private elementId; readonly isPreview: boolean; private readonly previewCssStylesheet; readonly icons: Signal>; readonly uiOptions: Signal; private readonly themeVariablesStylesheet; constructor(swishApp: SwishApp, isPreview: boolean); showModal(element: string | HTMLElement): Promise; hideModal(element: string | HTMLElement): Promise; private waitForEvent; showSignIn(options?: SignInOptions): Promise>; showUnsaveAlert(options: UnsaveAlertOptions): Promise>; showDeleteListAlert(options: DeleteListAlertOptions): Promise>; showConfirmDialog(options: ConfirmDialogOptions): Promise>; hideDrawer(): void; isDrawerOpen(): boolean; showDrawer(options?: DrawerOptions): Promise>; showListMenu(options: ListMenuOptions): Promise; showOrderMenu(options: OrderMenuOptions): Promise; showListDetailPageMenu(options: ListDetailPageMenuOptions): Promise>; showListSelect(options: ListSelectOptions): Promise; initListDetailPage(): void; showToast(toast: Toast, options?: ShowToastOptions): Promise>; hideAllToasts(): Promise; showVariantSelect(options?: VariantSelectOptions): Promise>; showQuickBuy(options?: QuickBuyOptions): Promise>; showNotifyMe(options: NotifyMeOptions): Promise>; showListEditor(options?: ListEditorOptions): Promise>; createElement(name: string, options?: RequireUiComponentOptions): Promise; hydrateElement(name: string, element: T, options?: RequireUiComponentOptions): Promise; requireUiComponent(name: string, options?: RequireUiComponentOptions): Promise; private readonly _templatePromises; loadTemplate(name: string): Promise; private readonly _importPromises; importScript(name: string): Promise; private _loadLocalePromise; loadLocale(): Promise; private _loadCricalResourcesPromise; loadCricalResources(): Promise; applyPreview({ design, css, icons, ...viewOptions }: PreviewOptions["ui"]): void; private _loadNonCriticalResourcesPromise; loadNonCriticalResources(): Promise<{ bundleCssStylesheet: CSSStyleSheet; customCssStylesheets: CSSStyleSheet[]; }>; insertComponent({ name, template, position, refElement, singleInstance, }: { name: string; template: string; position: InsertPosition; refElement: HTMLElement; singleInstance: boolean; }): Promise; queryComponent(name: string, instance?: number): T; private lockScroll; private unlockScroll; private inertBackground; private restoreBackground; _lockScroll: () => void; _unlockScroll: () => void; } export declare function createShadowCssStylesheets(css?: string): CSSStyleSheet[];