UNPKG

@tanstack/vue-router

Version:

Modern and scalable routing for Vue applications

40 lines (39 loc) 3.62 kB
import * as Vue from 'vue'; import type { AnyRouter, DeepPartial, MakeOptionalPathParams, MakeOptionalSearchParams, MakeRouteMatchUnion, MaskOptions, MatchRouteOptions, RegisteredRouter, ResolveRoute, ToSubOptionsProps } from '@tanstack/router-core'; declare module '@tanstack/router-core' { interface RouteMatchExtensions { meta?: Array<Vue.ComponentOptions['meta'] | undefined>; links?: Array<Vue.ComponentOptions['link'] | undefined>; scripts?: Array<Vue.ComponentOptions['script'] | undefined>; headScripts?: Array<Vue.ComponentOptions['script'] | undefined>; } } export declare const Matches: Vue.DefineComponent<{}, () => Vue.VNode<Vue.RendererNode, Vue.RendererElement, { [key: string]: any; }>, {}, {}, {}, Vue.ComponentOptionsMixin, Vue.ComponentOptionsMixin, {}, string, Vue.PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, Vue.ComponentProvideOptions, true, {}, any>; export type UseMatchRouteOptions<TRouter extends AnyRouter = RegisteredRouter, TFrom extends string = string, TTo extends string | undefined = undefined, TMaskFrom extends string = TFrom, TMaskTo extends string = ''> = ToSubOptionsProps<TRouter, TFrom, TTo> & DeepPartial<MakeOptionalSearchParams<TRouter, TFrom, TTo>> & DeepPartial<MakeOptionalPathParams<TRouter, TFrom, TTo>> & MaskOptions<TRouter, TMaskFrom, TMaskTo> & MatchRouteOptions; export declare function useMatchRoute<TRouter extends AnyRouter = RegisteredRouter>(): <const TFrom extends string = string, const TTo extends string | undefined = undefined, const TMaskFrom extends string = TFrom, const TMaskTo extends string = "">(opts: UseMatchRouteOptions<TRouter, TFrom, TTo, TMaskFrom, TMaskTo>) => Vue.Ref<false | ResolveRoute<TRouter, TFrom, TTo>["types"]["allParams"]>; export type MakeMatchRouteOptions<TRouter extends AnyRouter = RegisteredRouter, TFrom extends string = string, TTo extends string | undefined = undefined, TMaskFrom extends string = TFrom, TMaskTo extends string = ''> = UseMatchRouteOptions<TRouter, TFrom, TTo, TMaskFrom, TMaskTo> & { children?: ((params?: ResolveRoute<TRouter, TFrom, TTo>['types']['allParams']) => Vue.VNode) | Vue.VNode; }; export interface MatchRouteComponentType { <TRouter extends AnyRouter = RegisteredRouter, TFrom extends string = string, TTo extends string | undefined = undefined>(props: MakeMatchRouteOptions<TRouter, TFrom, TTo>): Vue.VNode; new (): { $props: { from?: string; to?: string; fuzzy?: boolean; caseSensitive?: boolean; includeSearch?: boolean; pending?: boolean; }; }; } export declare const MatchRoute: MatchRouteComponentType; export interface UseMatchesBaseOptions<TRouter extends AnyRouter, TSelected> { select?: (matches: Array<MakeRouteMatchUnion<TRouter>>) => TSelected; } export type UseMatchesResult<TRouter extends AnyRouter, TSelected> = unknown extends TSelected ? Array<MakeRouteMatchUnion<TRouter>> : TSelected; export declare function useMatches<TRouter extends AnyRouter = RegisteredRouter, TSelected = unknown>(opts?: UseMatchesBaseOptions<TRouter, TSelected>): Vue.Ref<UseMatchesResult<TRouter, TSelected>>; export declare function useParentMatches<TRouter extends AnyRouter = RegisteredRouter, TSelected = unknown>(opts?: UseMatchesBaseOptions<TRouter, TSelected>): Vue.Ref<UseMatchesResult<TRouter, TSelected>>; export declare function useChildMatches<TRouter extends AnyRouter = RegisteredRouter, TSelected = unknown>(opts?: UseMatchesBaseOptions<TRouter, TSelected>): Vue.Ref<UseMatchesResult<TRouter, TSelected>>;