import type { IParseOptions, IStringifyOptions } from "qs";
import type { RouteMap, Router, RouteLocationNormalizedLoaded } from "vue-router";
type UseRoute<Name extends keyof RouteMap = keyof RouteMap> = (_name?: Name) => RouteLocationNormalizedLoaded<Name>;
interface RouterRegistry {
    useRoute: UseRoute;
    useRouter: () => Router;
}
export interface Options {
    navigateMode?: "push" | "replace";
    parseOptions?: IParseOptions;
    stringifyOptions?: IStringifyOptions;
}
type UrlState = Record<string, any>;
export declare const useUrlState: {
    <S extends UrlState = UrlState>(initialState?: S | (() => S), options?: Options): readonly [import("vue").Ref<Partial<{ [key in keyof S]: any; }>, Partial<{ [key in keyof S]: any; }>>, (s: any) => void];
    use(regist: RouterRegistry): RouterRegistry;
};
export {};
