import type { Component, Accessor } from "solid-js"; import type { Branch, Location, LocationChangeSignal, NavigateOptions, Navigator, Params, Route, RouteContext, RouteDataFunc, RouteDefinition, RouteMatch, RouterContext, RouterIntegration, SetParams } from "./types"; export declare const RouterContextObj: import("solid-js").Context; export declare const RouteContextObj: import("solid-js").Context; export declare const useRouter: () => RouterContext; export declare const useRoute: () => RouteContext; export declare const useResolvedPath: (path: () => string) => Accessor; export declare const useHref: (to: () => string | undefined) => Accessor; export declare const useNavigate: () => Navigator; export declare const useLocation: () => Location; export declare const useIsRouting: () => () => boolean; export declare const useMatch: (path: () => string) => Accessor; export declare const useParams: () => T; declare type MaybeReturnType = T extends (...args: any) => infer R ? R : T; export declare const useRouteData: () => MaybeReturnType; export declare const useSearchParams: () => [T, (params: SetParams, options?: Partial> | undefined) => void]; export declare function createRoutes(routeDef: RouteDefinition, base?: string, fallback?: Component): Route[]; export declare function createBranch(routes: Route[], index?: number): Branch; export declare function createBranches(routeDef: RouteDefinition | RouteDefinition[], base?: string, fallback?: Component, stack?: Route[], branches?: Branch[]): Branch[]; export declare function getRouteMatches(branches: Branch[], location: string): RouteMatch[]; export declare function createLocation(path: Accessor, state: Accessor): Location; export declare function createRouterContext(integration?: RouterIntegration | LocationChangeSignal, base?: string, data?: RouteDataFunc, out?: object): RouterContext; export declare function createRouteContext(router: RouterContext, parent: RouteContext, child: () => RouteContext, match: () => RouteMatch): RouteContext; export {};