/** * Browser client navigation �?same-app `` SPA takeover. * Zero-JS still works via real ``; with JS, intercept same-origin * `a[data-vmz-route]` clicks, pushState, fetch SSR HTML, swap page (retain layout * when `data-vmz-layout` is unchanged) or full `#app`, then hydrate. */ /** * fetchImpl?: typeof fetch, * document?: Document, * history?: History, * location?: Location, * hydrate?: (Ctor: any, root: Element, props: object) => Promise, * hydrateRoute?: (Page: any, root: Element, props: object, layouts?: any[]) => Promise, * hydrateRoutePage?: (Page: any, root: Element, props: object) => Promise, * destroy?: (inst: object) => void, * importPage?: (chunkId: string) => Promise, * }} [opts] */ export declare function installClientNavigation(opts?: Record): { ok: boolean; reason: string; transitionTo?: undefined; transitionLocale?: undefined; dispose?: undefined; } | { ok: boolean; transitionTo: (url: any, { replace, fromPop, softFail }?: any) => Promise<{ ok: boolean; reason: string; href?: undefined; chunkId?: undefined; retainedLayout?: undefined; scrollMode?: undefined; focusTarget?: undefined; localeId?: undefined; } | { ok: boolean; href: string; chunkId: any; retainedLayout: boolean; scrollMode: string; focusTarget: any; localeId: any; reason?: undefined; }>; transitionLocale: (toLocale: any, opts?: any) => Promise<{ status: string; fromLocale: any; toLocale: any; reason: string; }>; dispose(): void; reason?: undefined; }; export declare function extractAppHtml(html: any, doc: any): any;