import { Reactive, Directive, Plugin } from 'vue';
declare const link: Directive<HTMLElement, boolean | (import('../router').RouterRequestConfig<any> & {
    prefetch?: boolean | ("click" | "mount" | "hover") | ("click" | "mount" | "hover")[];
    cacheFor?: number | string | (number | string)[];
})>;
declare const visible: Directive<HTMLElement, boolean | import('../index').VortexConfig | ({
    vortex: import('../router').VortexConfig | boolean;
    buffer?: number;
    always?: boolean;
} & import('../router').RouterRequestConfig<any>)>;
declare module '@vue/runtime-core' {
    interface GlobalDirectives {
        link: typeof link;
        visible: typeof visible;
    }
}
export declare const vortex: Plugin;
export declare const usePage: () => {
    [x: string]: unknown;
    component: string;
    props: Record<string, unknown>;
    url: string;
    version: string | null;
    clearHistory: boolean;
    encryptHistory: boolean;
    deferredProps?: Record<string, string[]> | undefined;
    mergeProps?: string[] | undefined;
    deepMergeProps?: string[] | undefined;
};
export declare function useForm<T extends object>(data: T | (() => T), rememberKey?: string): Reactive<import('../form').VortexForm<T>>;
export declare function useRemember<T extends object>(data: T, key?: string): Reactive<T>;
export {};
