import { browserTracingIntegration } from '@sentry/browser';
import { Integration } from '@sentry/core';
import { ReactRouterOptions } from './reactrouter-compat-utils';
import { CreateRouterFunction, Router, RouterState, UseRoutes } from './types';
/**
 * A browser tracing integration that uses React Router to instrument navigations.
 * Expects `useEffect`, `useLocation`, `useNavigationType`, `createRoutesFromChildren` and `matchRoutes` to be passed as options.
 *
 * Works with React Router v6+.
 */
export declare function reactRouterBrowserTracingIntegration(options: Parameters<typeof browserTracingIntegration>[0] & ReactRouterOptions): Integration;
/**
 * A higher-order component that adds Sentry routing instrumentation to a React Router Route component.
 * This is used to automatically capture route changes as transactions.
 *
 * Works with React Router v6+.
 */
export declare function wrapReactRouterRouting<P extends Record<string, any>, R extends React.FC<P>>(routes: R): R;
/**
 * A wrapper function that adds Sentry routing instrumentation to a React Router createBrowserRouter function.
 * This is used to automatically capture route changes as transactions when using the createBrowserRouter API.
 *
 * Works with React Router v6+.
 */
export declare function wrapCreateBrowserRouter<TState extends RouterState = RouterState, TRouter extends Router<TState> = Router<TState>>(createRouterFunction: CreateRouterFunction<TState, TRouter>): CreateRouterFunction<TState, TRouter>;
/**
 * A wrapper function that adds Sentry routing instrumentation to a React Router createMemoryRouter function.
 * This is used to automatically capture route changes as transactions when using the createMemoryRouter API.
 * The difference between createBrowserRouter and createMemoryRouter is that with createMemoryRouter,
 * optional `initialEntries` are also taken into account.
 *
 * Works with React Router v6+.
 */
export declare function wrapCreateMemoryRouter<TState extends RouterState = RouterState, TRouter extends Router<TState> = Router<TState>>(createMemoryRouterFunction: CreateRouterFunction<TState, TRouter>): CreateRouterFunction<TState, TRouter>;
/**
 * A wrapper function that adds Sentry routing instrumentation to a React Router useRoutes hook.
 * This is used to automatically capture route changes as transactions when using the useRoutes hook.
 *
 * Works with React Router v6+.
 */
export declare function wrapUseRoutes(origUseRoutes: UseRoutes): UseRoutes;
//# sourceMappingURL=reactrouter.compat.d.ts.map
