import { RouteLocationNormalizedLoaded, RouteLocationNormalized } from 'vue-router'; import { RouteNames, RoutiderRoutes } from '../options/options'; import { ExtractParams } from '../options/path'; import { RouteRecordName } from '../options/name'; import { RoutiderRouteRecord } from './route'; import { EntityOrArrayToUnion, UnionToIntersection } from '../type'; import { ExtractQueries, QueryMap } from '../options/queries'; declare type RecordWithOptional = Record & Partial>; export interface Params { params: Readonly, Exclude, string | string[]>>; } export interface Queries { query: Readonly>>; } /** * Typed `RouteLocationNormalized` */ export declare type RoutiderLocationN> = Omit & { name: RouteName; } & Params & Queries; /** * Typed `RouteLocationNormalizedLoaded` */ export declare type RoutiderLocation> = Omit & { name: RouteName; } & Params & Queries; declare type RoutesOfNames | RouteNames[]> = { [N in EntityOrArrayToUnion]: Routes[N]; }; declare type IntersectionParamsOfRoutes> = ExtractParams; }[keyof Rs]>>; declare type UnionParamsOfRoutes> = { [K in keyof Rs]: ExtractParams; }[keyof Rs]; declare type UnionQueriesOfRoutes> = { [K in keyof Rs]: ExtractQueries; }[keyof Rs]; /** * Get Typed `RouteLocationNormalizedLoaded` from Route */ export declare type RoutiderLocationOfNames | RouteNames[]> = RoutiderLocation>, UnionParamsOfRoutes>, UnionQueriesOfRoutes>, EntityOrArrayToUnion>; export {};