import * as _route_weaver_core from '@route-weaver/core';
import { RouteDeclarations, NavigationInstance } from '@route-weaver/core';
import * as react_jsx_runtime from 'react/jsx-runtime';
import React from 'react';

declare const createRouteWeaverReactApi: <T extends RouteDeclarations<TMeta>, TNavDef, TMeta>(navInstance: NavigationInstance<T, TNavDef, TMeta>) => {
    RouteWeaverProvider: ({ children, }: {
        children: React.ReactNode;
    }) => react_jsx_runtime.JSX.Element;
    useNavigation: () => _route_weaver_core.StructuredNavigation<TNavDef, TMeta>;
    useActiveRoute: () => _route_weaver_core.ActiveRoute<TMeta> | undefined;
    useBreadcrumbs: () => _route_weaver_core.StructuredNavItem<TMeta>[];
    useBuildPath: () => <R extends keyof T>(id: R, ...args: _route_weaver_core.ExtractRouteParams<_route_weaver_core.RoutePath<T[R]>> extends never ? [params?: undefined] : [params: _route_weaver_core.RouteParams<_route_weaver_core.RoutePath<T[R]>>]) => string;
};

export { createRouteWeaverReactApi };
