import type { GQtyClient, LegacyResolveOptions, LegacySubscriptionsClient } from 'gqty';
import type { GeneratedSchema, Mutation, Query, Subscription } from './gqty';
export type ResolveOptionsWithSession<T> = LegacyResolveOptions<T>;
export declare function wrapGraphQLClient(client: GQtyClient<GeneratedSchema>, subscriptionsClient?: LegacySubscriptionsClient, onError?: (err: Error) => any, retries?: number): {
    client: GQtyClient<GeneratedSchema>;
    subscriptionsClient: 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>;
};
