import { Routes } from './route'; import { RoutesName } from './routesMap'; import { RouteParamsByKey } from './routeWithParams'; import { AllPropertiesAreOptional } from './utilities'; import { QuerySource } from './querySource'; import { ResolvedRoute } from './resolved'; import { RouteStateByName } from './state'; export type RouterResolveOptions = { query?: QuerySource; hash?: string; state?: Partial; }; type RouterResolveArgs> = AllPropertiesAreOptional> extends true ? [params?: RouteParamsByKey, options?: RouterResolveOptions>] : [params: RouteParamsByKey, options?: RouterResolveOptions>]; export type RouterResolve = >(name: TSource, ...args: RouterResolveArgs) => ResolvedRoute; export {};