import * as React from "react"; import type { Location, Path, To } from "history"; import { Action as NavigationType } from "history"; import type { ParamParseKey, Params, PathMatch, PathPattern, RouteMatch, RouteObject } from "./router"; /** * Returns the full href for the given "to" value. This is useful for building * custom links that are also accessible and preserve right-click behavior. * * @see https://reactrouter.com/docs/en/v6/api#usehref */ export declare function useHref(to: To): string; /** * Returns true if this component is a descendant of a . * * @see https://reactrouter.com/docs/en/v6/api#useinroutercontext */ export declare function useInRouterContext(): boolean; /** * Returns the current location object, which represents the current URL in web * browsers. * * Note: If you're using this it may mean you're doing some of your own * "routing" in your app, and we'd like to know what your use case is. We may * be able to provide something higher-level to better suit your needs. * * @see https://reactrouter.com/docs/en/v6/api#uselocation */ export declare function useLocation(): Location; /** * Returns the current navigation action which describes how the router came to * the current location, either by a pop, push, or replace on the history stack. * * @see https://reactrouter.com/docs/en/v6/api#usenavigationtype */ export declare function useNavigationType(): NavigationType; /** * Returns true if the URL for the given "to" value matches the current URL. * This is useful for components that need to know "active" state, e.g. * . * * @see https://reactrouter.com/docs/en/v6/api#usematch */ export declare function useMatch, Path extends string>(pattern: PathPattern | Path): PathMatch | null; /** * The interface for the navigate() function returned from useNavigate(). */ export interface NavigateFunction { (to: To, options?: NavigateOptions): void; (delta: number): void; } export interface NavigateOptions { replace?: boolean; state?: any; } /** * Returns an imperative method for changing the location. Used by s, but * may also be used by other elements to change the location. * * @see https://reactrouter.com/docs/en/v6/api#usenavigate */ export declare function useNavigate(): NavigateFunction; /** * Returns the context (if provided) for the child route at this level of the route * hierarchy. * @see https://reactrouter.com/docs/en/v6/api#useoutletcontext */ export declare function useOutletContext(): Context; /** * Returns the element for the child route at this level of the route * hierarchy. Used internally by to render child routes. * * @see https://reactrouter.com/docs/en/v6/api#useoutlet */ export declare function useOutlet(context?: unknown): React.ReactElement | null; /** * Returns an object of key/value pairs of the dynamic params from the current * URL that were matched by the route path. * * @see https://reactrouter.com/docs/en/v6/api#useparams */ export declare function useParams = string>(): Readonly<[ ParamsOrKey ] extends [string] ? Params : Partial>; /** * Resolves the pathname of the given `to` value against the current location. * * @see https://reactrouter.com/docs/en/v6/api#useresolvedpath */ export declare function useResolvedPath(to: To): Path; /** * Returns the element of the route that matched the current location, prepared * with the correct context to render the remainder of the route tree. Route * elements in the tree must render an to render their child route's * element. * * @see https://reactrouter.com/docs/en/v6/api#useroutes */ export declare function useRoutes(routes: RouteObject[], locationArg?: Partial | string): React.ReactElement | null; export declare function _renderMatches(matches: RouteMatch[] | null, parentMatches?: RouteMatch[]): React.ReactElement | null;