import { Component, ComputedRef, Ref } from 'vue';
import { MaybeRef } from '@vueuse/core';

export interface VirtualRoute {
    path: string;
    component: Component;
    icon?: string;
    name?: string;
}
export declare function registerVirtualRouter(routes: MaybeRef<VirtualRoute[]>): {
    VirtualRouterView: import('vue').DefineComponent<{}, () => import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
        [key: string]: any;
    }> | null, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{}>>, {}, {}>;
    restoreRouter: () => void;
};
export declare function useVirtualRouter(): {
    push(path: string): void;
};
export declare function useVirtualRoute(): {
    routes: ComputedRef<VirtualRoute[]>;
    currentRoute: Ref<{
        path: string;
    }>;
};
