import type { ApiClientOptions } from '@scalar/api-client/modal'; /** Lazy load the client modal creator */ export declare const getClientModalCreator: () => Promise<({ el, eventBus, mountOnInitialize, plugins, workspaceStore, options, }: { el: HTMLElement | null; mountOnInitialize?: boolean; eventBus?: import("@scalar/workspace-store/events").WorkspaceEventBus; workspaceStore: import("@scalar/workspace-store/client").WorkspaceStore; plugins?: import("@scalar/oas-utils/helpers").ClientPlugin[]; options?: import("vue").MaybeRefOrGetter; }) => import("@scalar/api-client/modal").ApiClientModal>; /** Module-scoped singleton workspace store (lazy-loaded on first use). */ export declare const getWorkspaceStoreSingleton: () => Promise; /** Module-scoped singleton workspace event bus (lazy-loaded on first use). */ export declare const getWorkspaceEventBusSingleton: () => Promise; /** * Lazily creates the singleton Vue app, mounts it as the last child of document.body, * and returns the controller. Subsequent calls return the same promise. * * Only modal-supported options are accepted here. Document-specific fields * (`url`, `content`) must be registered via `workspaceStore.addDocument` after the client * is ready — they are not part of the modal constructor. */ export declare const getOrCreateApiClient: (options?: ApiClientOptions | undefined) => Promise<{ apiClient: import("@scalar/api-client/modal").ApiClientModal; workspaceStore: import("@scalar/workspace-store/client").WorkspaceStore; }>; //# sourceMappingURL=lazy-load.d.ts.map