import type { Meta } from "./manifest.js"; import type { ClientRouter } from "./router.js"; /** * Everything the generated client entry needs, re-exported here so that entry imports ONE module and * that module is DOM-only. It used to take these from `@nifrajs/web`, whose graph includes `renderPage` * and the static-file server: bundled builds tree-shook the server half away, but Vite's dev server * serves modules as written, so the browser evaluated `public-dir.ts` and died on `node:fs/promises` * before hydrating. The fix is for the entry not to name the server module in the first place. */ export { mergeHeads, resolveMeta } from "./internal/head-merge.js"; export { getBrowserNavigate, IDLE_BLOCKER, registerBlocker, resolveNavigate, } from "./navigation.js"; export { createMutation, createQueryClient } from "./query.js"; export { createClientRouter, createMatcher } from "./router.js"; export { searchOf, searchOfChain } from "./search.js"; export interface InstallHistoryOptions { /** Full-page fallback when a client navigation can't proceed (default: `location.assign`). */ readonly fallback?: (path: string) => void; } /** * Attach history + link interception to a router. Returns a teardown function that removes the * listeners. A data-fetch failure during a client navigation falls back to a full-page load, so * navigation degrades gracefully rather than leaving the user stuck. */ export declare function installHistory(router: ClientRouter, options?: InstallHistoryOptions): () => void; /** * Intercept submissions of same-origin `