import { QueryClient } from './queryClient.cjs';
import { QueryClientConfig } from '@tanstack/query-core';
import 'vue-demi';
import './types.cjs';

type ClientPersister = (client: QueryClient) => [() => void, Promise<void>];
interface CommonOptions {
    queryClientKey?: string;
    clientPersister?: ClientPersister;
    clientPersisterOnSuccess?: (client: QueryClient) => void;
}
interface ConfigOptions extends CommonOptions {
    queryClientConfig?: QueryClientConfig;
}
interface ClientOptions extends CommonOptions {
    queryClient?: QueryClient;
}
type VueQueryPluginOptions = ConfigOptions | ClientOptions;
declare const VueQueryPlugin: {
    install: (app: any, options?: VueQueryPluginOptions) => void;
};

export { VueQueryPlugin, type VueQueryPluginOptions };
