export { type HasuraClient, useHasuraClientInner } from './create-client';
export * from './gqty';
export { GQtyError } from 'gqty';
import type { LegacyResolveOptions } from 'gqty';
import type { Mutation, Query, Subscription } from './gqty';
import type { GqlAuthParam } from './types';
export type ResolveOptionsWithSession<T> = LegacyResolveOptions<T>;
export declare function useHasuraClient(args?: GqlAuthParam): {
    client: import("gqty").GQtyClient<import("./gqty").GeneratedSchema>;
    subscriptionsClient: import("gqty").LegacySubscriptionsClient;
    mutate<T = unknown>(resolved: (sub: Mutation) => T, options?: ResolveOptionsWithSession<T>): Promise<T>;
    query<T = unknown>(resolved: (sub: Query) => T, options?: ResolveOptionsWithSession<T>): Promise<T>;
    subscribe<T = unknown>(resolved: (sub: Subscription) => T, onData: (data: T, unsubscribeFn: () => Promise<void>) => void, onError?: (err: Error, unsubscribeFn: () => Promise<void>) => void): () => Promise<void>;
};
