/// import { RouteConfig } from './RouteConfig'; import { RouteParams, QueryParams } from './GetParams'; import { ParamName } from './Route'; import { SmartLinkProps, SmartNavLinkProps } from './components'; import { UseSmartRoute, UseRouteMatch, UseQueryParams, UseParams } from './hooks'; type NoMandatoryParamKeys = { [N in keyof R]: {} extends RouteParams ? N : never; }[keyof R]; export interface RoutesAPI { route(routeName: N, params: RouteParams, queryParams?: QueryParams): string; route>(routeName: N): string; path: (routeName: N, partialParams?: Partial>) => string; paramNames: (routeName: N) => ParamName[]; queryParamNames: (routeName: N) => (keyof QueryParams)[]; routes: R; routeNames: TRouteName[]; isRouteName: (routeName: string | number | symbol) => routeName is TRouteName; SmartLink: (props: SmartLinkProps) => JSX.Element; SmartNavLink: (props: SmartNavLinkProps) => JSX.Element; useSmartRoute: UseSmartRoute; useParams: UseParams; useQueryParams: UseQueryParams; useRouteMatch: UseRouteMatch; } export {};