import { InjectionKey } from 'vue'; import { RouteValueStore } from './createRouteValueStore'; import { Router, RouterRouteUnion } from '../types/router'; import { ResolvedRoute, WithData } from '../types/resolved'; import { Routes } from '../types/route'; import { RouterPush } from '../types/routerPush'; type ResolvedRouteUpdate = (route: ResolvedRoute) => void; type CurrentRouteContext = { currentRoute: ResolvedRoute & WithData; routerRoute: RouterRouteUnion; updateRoute: ResolvedRouteUpdate; }; type CurrentRouteOptions = { routerKey: InjectionKey; fallbackRoute: ResolvedRoute; push: RouterPush; getData: RouteValueStore['getData']; }; /** * The route the router is on. Data is read from the store as a route becomes current, which is the only * route whose data anything computes — so a caller hands over whatever it resolved and does not have to * know that data is attached at all. */ export declare function createCurrentRoute(options: CurrentRouteOptions): CurrentRouteContext; export {};