import { NextRouter as NextRouterType, withRouter as withNextRouter } from "next/router"; import { extractRouterParams, useRouterQuery } from "./router-hooks"; export declare const Router: import("next/router").SingletonRouter; export { createRouter, makePublicRouterInstance } from "next/router"; export { RouterContext } from "next/dist/shared/lib/router-context"; export { useParam, useParams, useRouterQuery } from "./router-hooks"; export interface BlitzRouter extends NextRouterType { params: ReturnType; query: ReturnType; } export interface WithRouterProps { router: BlitzRouter; } /** * `withRouter` is a higher-order component that takes a component and returns a new one * with an additional `router` prop. * * @example * ``` * import {withRouter} from "blitz" * * function Page({router}) { * return

{router.pathname}

* } * * export default withRouter(Page) * ``` * * @param WrappedComponent - a React component that needs `router` object in props * @returns A component with a `router` object in props * @see Docs {@link https://blitzjs.com/docs/router#router-object | router} */ export declare const withRouter: typeof withNextRouter; /** * `useRouter` is a React hook used to access `router` object within components * * @returns `router` object * @see Docs {@link https://blitzjs.com/docs/router#router-object | router} */ export declare function useRouter(): BlitzRouter;