import { AnyRouter, RegisteredRouter, RouterOptions } from '@tanstack/router-core';
import * as Vue from 'vue';
export declare const RouterContextProvider: Vue.DefineComponent<Vue.ExtractPropTypes<{
    router: {
        type: ObjectConstructor;
        required: true;
    };
}>, () => Vue.VNode<Vue.RendererNode, Vue.RendererElement, {
    [key: string]: any;
}> | Vue.VNode<Vue.RendererNode, Vue.RendererElement, {
    [key: string]: any;
}>[] | undefined, {}, {}, {}, Vue.ComponentOptionsMixin, Vue.ComponentOptionsMixin, {}, string, Vue.PublicProps, Readonly<Vue.ExtractPropTypes<{
    router: {
        type: ObjectConstructor;
        required: true;
    };
}>> & Readonly<{}>, {}, {}, {}, {}, string, Vue.ComponentProvideOptions, true, {}, any>;
export declare const RouterProvider: {
    <TRouter extends AnyRouter = RegisteredRouter>(props: {
        router: TRouter;
        routeTree?: TRouter["routeTree"];
    } & Record<string, any>): Vue.VNode;
    new (): {
        $props: {
            router: AnyRouter;
            routeTree?: AnyRouter["routeTree"];
        };
    };
};
export type RouterProps<TRouter extends AnyRouter = RegisteredRouter, TDehydrated extends Record<string, any> = Record<string, any>> = Omit<RouterOptions<TRouter['routeTree'], NonNullable<TRouter['options']['trailingSlash']>, false, TRouter['history'], TDehydrated>, 'context'> & {
    router: TRouter;
    context?: Partial<RouterOptions<TRouter['routeTree'], NonNullable<TRouter['options']['trailingSlash']>, false, TRouter['history'], TDehydrated>['context']>;
};
