@route-weaver/react
Version:
React hooks for @route-weaver/core
18 lines (14 loc) • 1.64 kB
text/typescript
import * as _route_weaver_core from '@route-weaver/core';
import { RouteDeclarations, NavDefinitions, NavigationInstance } from '@route-weaver/core';
import * as react_jsx_runtime from 'react/jsx-runtime';
import React from 'react';
declare const useNavigation: <T extends RouteDeclarations<U>, V extends NavDefinitions<keyof T & string>, U = unknown>() => _route_weaver_core.StructuredNavigation<U, V>;
declare const useActiveRoute: <T extends RouteDeclarations<U>, V extends NavDefinitions<keyof T & string>, U = unknown>() => _route_weaver_core.ActiveRoute<U> | undefined;
declare const useBreadcrumbs: <T extends RouteDeclarations<U>, V extends NavDefinitions<keyof T & string>, U = unknown>() => _route_weaver_core.StructuredNavItem<U>[];
declare const useBuildPath: <T extends RouteDeclarations<U>, V extends NavDefinitions<keyof T & string>, U = unknown>() => <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;
declare const RouteWeaverProvider: <T extends RouteDeclarations<U>, V extends NavDefinitions<keyof T & string>, U = unknown>({ navInstance, children, }: {
navInstance: NavigationInstance<T, V, U>;
children: React.ReactNode;
}) => react_jsx_runtime.JSX.Element;
declare const useRouteWeaver: <T extends RouteDeclarations<U>, V extends NavDefinitions<keyof T & string>, U = unknown>() => NavigationInstance<T, V, U>;
export { RouteWeaverProvider, useActiveRoute, useBreadcrumbs, useBuildPath, useNavigation, useRouteWeaver };