import { RouterLocation, ToRouterPath } from './types';
import { RouterGuards } from './guards';

export declare function useGuardsImpl(): RouterGuards;
export declare function useRouter(): {
    route: import('vue').Ref<{
        url: string;
        query?: Record<string, any> | undefined;
        fullPath: string;
    }>;
    push: (to: ToRouterPath<UniNamespace.NavigateToOptions>) => Promise<void>;
    pushTab: (to: ToRouterPath<UniNamespace.SwitchTabOptions>) => Promise<void>;
    replace: (to: ToRouterPath<UniNamespace.RedirectToOptions>) => Promise<void>;
    replaceAll: (to: ToRouterPath<UniNamespace.ReLaunchOptions>) => Promise<void>;
    back: (data?: UniNamespace.NavigateBackOptions) => Promise<unknown>;
};
export declare function useRoute(): import('vue').Ref<{
    url: string;
    query?: Record<string, any> | undefined;
    fullPath: string;
}>;
export declare function useGuardsReady(): import('vue').Ref<boolean>;
export declare function onRouterReady(to?: RouterLocation): void;
