import type { AtomType } from "../Mutables/atom/atom"; import type { NavigableAtomType, NavigableSuperAtomType } from "./navigableAtom"; import type { NavigationRequestEvent } from "./navigationRequest"; /** Split a navigate target into pathname / search / hash parts. */ export declare function splitNavTarget(path: string): { pathname: string; search: string; hash: string; hasQs: boolean; hasHash: boolean; }; export type NavigateToFn = ((path: string, replace?: boolean, data?: any) => void) & { dispose?: () => void; }; /** * Creates a `navigateTo` function bound to the given scope atoms. * * When `navigationRequestEvent` has subscribers, navigation is deferred: * every subscriber must call `detail.next()` (AND) before commit. * The original `navigateTo` call never auto-commits after firing the event — * sync cancel works. Extra / stale `next()` calls are ignored (generation token). * * With no guards, `navigationLocked` hard-blocks as before. * * Updates history, then syncs atoms via `originalSet`. * Owns `popstate` / `hashchange` so guards can intercept before atoms update. */ export declare function createNavigateTo(pathAtom: NavigableSuperAtomType, navigationLocked: AtomType, historyStateAtom: AtomType, navigationRequestEvent: NavigationRequestEvent, qsAtom?: NavigableAtomType>, hashAtom?: NavigableAtomType>): NavigateToFn; //# sourceMappingURL=navigateTo.d.ts.map