import { type LynxTemplate, type PageConfig, type FlushElementTreeOptions, type Cloneable, type BrowserConfig, type publishEventEndpoint, type publicComponentEventEndpoint, type reportErrorEndpoint, type RpcCallType, type LynxContextEventTarget, type MainThreadGlobalThis, type I18nResourceTranslationOptions, type SSRHydrateInfo, type SSRDehydrateHooks, type JSRealm, type QueryComponentPAPI } from '@lynx-js/web-constants'; export interface MainThreadRuntimeCallbacks { mainChunkReady: () => void; flushElementTree: (options: FlushElementTreeOptions | undefined, timingFlags: string[], exposureChangedElements: HTMLElement[]) => void; _ReportError: RpcCallType; __OnLifecycleEvent: (lifeCycleEvent: Cloneable) => void; markTiming: (pipelineId: string, timingKey: string) => void; publishEvent: RpcCallType; publicComponentEvent: RpcCallType; _I18nResourceTranslation: (options: I18nResourceTranslationOptions) => unknown | undefined; updateCssOGStyle: (uniqueId: number, newClassName: string, cssID: string | null, entryName: string | null) => void; __QueryComponent: QueryComponentPAPI; } export interface MainThreadRuntimeConfig { pageConfig: PageConfig; globalProps: unknown; callbacks: MainThreadRuntimeCallbacks; lynxTemplate: LynxTemplate; browserConfig: BrowserConfig; tagMap: Record; rootDom: Pick & Partial>; jsContext: LynxContextEventTarget; ssrHydrateInfo?: SSRHydrateInfo; ssrHooks?: SSRDehydrateHooks; mtsRealm: JSRealm; document: Document; } export declare function createMainThreadGlobalThis(config: MainThreadRuntimeConfig): MainThreadGlobalThis;