import { GraphQLClient } from "graphql-request";
import { DocumentNode } from "graphql";
export declare type ExposedGraphqlRequestSdk<Sdk, Client extends GraphQLClient> = Sdk & {
    request: Client["request"];
    rawRequest: Client["rawRequest"];
    query: <Result, Variables>(arg: {
        query: DocumentNode;
        variables?: {
            [key: string]: Variables;
        };
    }) => Promise<Result>;
    mutate: <Result, Variables>(arg: {
        query: DocumentNode;
        variables?: {
            [key: string]: Variables;
        };
    }) => Promise<Result>;
    stream: <Result, Variables>(arg: {
        query: DocumentNode;
        variables?: {
            [key: string]: Variables;
        };
    }) => Promise<AsyncIterableIterator<Result>>;
    client: Client;
};
/**
 * Logic used to expose GraphqlRequest functions in the Sdk
 *
 * @param client apollo client object that will be exposed in the sdk
 */
export declare const exposeGraphqlRequest: <Sdk, Client extends GraphQLClient>(sdk: Sdk, client: Client) => ExposedGraphqlRequestSdk<Sdk, Client>;
