interface NavigateOptions { scroll?: boolean; } interface PrefetchOptions { kind?: unknown; } interface RouterStub { push: (href: string, options?: NavigateOptions) => void; replace: (href: string, options?: NavigateOptions) => void; back: () => void; forward: () => void; refresh: () => void; prefetch: (href: string, options?: PrefetchOptions) => void; } export interface NavigationImpl { useRouter: () => RouterStub; usePathname: () => string; useSearchParams: () => URLSearchParams; useParams: >() => T; redirect: (url: string, type?: unknown) => never; permanentRedirect: (url: string, type?: unknown) => never; notFound: () => never; } /** * Register real `next/navigation` exports. Merges with any prior * registration so partial-overrides are safe. Call ONCE at app init * in a Next.js host. */ export declare function registerNavigation(nav: Partial): void; export declare function useRouter(): RouterStub; export declare function usePathname(): string; export declare function useSearchParams(): URLSearchParams; export declare function useParams>(): T; export declare function redirect(url: string, type?: unknown): never; export declare function permanentRedirect(url: string, type?: unknown): never; export declare function notFound(): never; /** Match Next's RedirectType enum surface for code that imports it. */ export declare const RedirectType: { push: "push"; replace: "replace"; }; /** Match Next's ServerInsertedHTMLContext surface — non-functional in * the embed environment but importable so consumers don't crash. */ export declare const ServerInsertedHTMLContext: any; export {}; //# sourceMappingURL=next-navigation.d.ts.map