import type { DocumentNode } from 'graphql';
import type { FetchConfig } from './fetchStore';
type ClientConfig = {
    url: string;
    config?: FetchConfig;
};
export type GraphQLError = {
    message: string;
    extensions?: any;
};
export declare function initGraphClient(config: ClientConfig): void;
export type QueryConfig = {
    query?: string | DocumentNode;
    variables?: any;
    config?: FetchConfig;
};
export default function graphStore(baseQueryConfig?: QueryConfig): {
    subscribe: (this: void, run: import("svelte/store").Subscriber<import("./fetchStore").FetchState>, invalidate?: (value?: import("./fetchStore").FetchState) => void) => import("svelte/store").Unsubscriber;
    fetch: (queryConfig?: QueryConfig) => {
        subscribe: (this: void, run: import("svelte/store").Subscriber<import("./fetchStore").FetchState>, invalidate?: (value?: import("./fetchStore").FetchState) => void) => import("svelte/store").Unsubscriber;
    };
    refresh: () => void;
    clear: () => void;
    queryConfig: import("svelte/store").Writable<QueryConfig>;
    fetchConfig: import("svelte/store").Writable<{
        url: string;
        config?: FetchConfig<any>;
    }>;
};
export {};
