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