import type { Cloneable, ExternalBundleResponse, InitI18nResources, InvokeUIMethodPAPI, JSRealm, MainThreadGlobalThis, NapiModulesMap, NativeModulesMap, PageConfig } from '../../types/index.js'; import { BackgroundThread } from './Background.js'; import { BoundingClientRectService } from './BoundingClientRectService.js'; import { I18nManager } from './I18n.js'; import { IntersectionObserverService } from './IntersectionObserverService.js'; import { WASMJSBinding } from './elementAPIs/WASMJSBinding.js'; import { ExposureServices } from './ExposureServices.js'; import { LynxEngineContextImpl } from './LynxEngineContext.js'; import type { LynxViewElement } from './LynxView.js'; export declare function createSystemInfo(browserConfig?: Record): Record; export declare class LynxViewInstance implements AsyncDisposable { #private; readonly parentDom: LynxViewElement; readonly initData: Cloneable; readonly globalprops: Cloneable; readonly templateUrl: string; readonly rootDom: ShadowRoot; readonly mtsRealm: JSRealm; private isSSR; private readonly transformVW; private readonly transformVH; private readonly transformREM; readonly mainThreadGlobalThis: MainThreadGlobalThis; readonly mtsWasmBinding: WASMJSBinding; readonly backgroundThread: BackgroundThread; readonly i18nManager: I18nManager; readonly exposureServices: ExposureServices; readonly intersectionObserverService: IntersectionObserverService; readonly webElementsLoadingPromises: Promise[]; /** * The Engine context proxy handed to main-thread scripts via * `lynx.getEngine()`. Buildless cards subscribe here for engine lifecycle * events; see {@link dispatchEngineEvent} for the fallback semantics that * keep `globalThis.renderPage`-style bundles working. */ readonly engineContext: LynxEngineContextImpl; readonly boundingClientRectService: BoundingClientRectService; readonly invokeUIMethod: InvokeUIMethodPAPI; get lynxViewClientLeft(): number; get lynxViewClientTop(): number; lepusCodeUrls: Map>; systemInfo: Record; constructor(parentDom: LynxViewElement, initData: Cloneable, globalprops: Cloneable, templateUrl: string, rootDom: ShadowRoot, mtsRealm: JSRealm, isSSR: boolean, lynxGroupId: number | undefined, nativeModulesMap?: NativeModulesMap, napiModulesMap?: NapiModulesMap, initI18nResources?: InitI18nResources, transformVW?: boolean, transformVH?: boolean, transformREM?: boolean, browserConfig?: Record); onPageConfigReady(config: PageConfig): void; onStyleInfoReady(currentUrl: string): void; onMTSScriptsLoaded(currentUrl: string, isLazy: boolean): Promise; onMTSScriptsExecuted(): void; onBTSScriptsLoaded(url: string): Promise; loadUnknownElement(tagName: string): void; queryComponent(url: string): Promise; /** * Fetch + decode + cache an external `.lynx.bundle` for `lynx.fetchBundle`. * Reuses the same machinery as {@link queryComponent} — the shared decode * worker, the bundle cache, and `onStyleInfoReady`, which applies the bundle's * pre-processed style section via the wasm style engine — but does not load a * lepus root chunk. Resolves to a response object (never rejects) so the * externals plugin can branch on `code`. */ loadExternalBundle(url: string): Promise; updateData(data: Cloneable, processorName?: string): Promise; updateGlobalProps(data: Cloneable): Promise; reportError(error: Error, release: string, fileName: string): void; [Symbol.asyncDispose](): Promise; }