import { FieldsSelection, Observable } from '@genql/runtime';
import { query_rootRequest, query_root, mutation_rootRequest, mutation_root, subscription_rootRequest, subscription_root, query_rootPromiseChain, mutation_rootPromiseChain, subscription_rootObservableChain } from '../generated/schema.js';
import { SubscriptionClient } from 'subscriptions-transport-ws';
export type JSONValue = string | number | boolean | {
    [x: string]: JSONValue;
} | Array<JSONValue>;
export interface Client {
    wsClient?: SubscriptionClient;
    query<R extends query_rootRequest>(request: R & {
        __name?: string;
    }): Promise<FieldsSelection<query_root, R>>;
    mutation<R extends mutation_rootRequest>(request: R & {
        __name?: string;
    }): Promise<FieldsSelection<mutation_root, R>>;
    subscription<R extends subscription_rootRequest>(request: R & {
        __name?: string;
    }): Observable<FieldsSelection<subscription_root, R>>;
    chain: {
        query: query_rootPromiseChain;
        mutation: mutation_rootPromiseChain;
        subscription: subscription_rootObservableChain;
    };
}
//# sourceMappingURL=types.d.ts.map