import { a as FNodeChild, F as FNode } from './types-eDz8Zr3v.cjs'; interface Location { pathname: string; search: string; hash: string; query: Record; } interface RouteDefinition { path: string; component: (props: Record) => unknown; children?: RouteDefinition[]; beforeEnter?: (params: Record) => boolean | void; } interface RouteMatch { route: RouteDefinition; params: Record; pathname: string; } interface RouterContext { location: Location; navigate: (path: string) => void; matches: RouteMatch[]; params: Record; } interface RouteProps { path: string; component: (props: Record) => unknown; children?: unknown; beforeEnter?: (params: Record) => boolean | void; } interface LinkProps { to: string; class?: string; className?: string; style?: string; children?: unknown; } declare function resetRouter(): void; declare function useLocation(): [Location, (path: string) => void]; declare function useRouter(): RouterContext; declare function useNavigate(): (path: string) => void; declare function getNavigate(): (path: string) => void; declare function useParams = Record>(): T; declare function useQuery = Record>(): T; declare function Routes(props: { children: FNodeChild; }): FNode; declare function Route(_props: RouteProps): null; declare function Outlet(): FNode | null; declare function Link(props: LinkProps): FNode; export { Link, type LinkProps, type Location, Outlet, Route, type RouteDefinition, type RouteMatch, type RouteProps, type RouterContext, Routes, getNavigate, resetRouter, useLocation, useNavigate, useParams, useQuery, useRouter };