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