import React from "react";
import type { ApolloClient } from "./WrappedApolloClient.js";
import type { DataTransportProviderImplementation } from "./DataTransportAbstraction.js";
import { ApolloClientSingleton } from "./symbols.js";
declare global {
    interface Window {
        [ApolloClientSingleton]?: ApolloClient;
    }
}
/**
 * > This is only available in React Client Components
 *
 * A version of `ApolloProvider` particularly suited for React's streaming SSR.
 *
 * @public
 */
export interface WrappedApolloProvider<ExtraProps> {
    ({ makeClient, children, ...extraProps }: React.PropsWithChildren<{
        makeClient: () => ApolloClient;
    } & ExtraProps>): React.JSX.Element;
    /**
     * Information about the current package and it's export names, for use in error messages.
     */
    info: {
        pkg: string;
    };
}
/**
 * > This export is only available in React Client Components
 *
 * Creates an ApolloProvider for streaming SSR.
 *
 * @param TransportProvider - The transport provider to be used.
 * This could e.g. be a `ManualDataTransport` created by `buildManualDataTransport`,
 * or a fully custom implementation of `DataTransportProviderImplementation`.
 * @public
 */
export declare function WrapApolloProvider<ExtraProps>(TransportProvider: DataTransportProviderImplementation<ExtraProps>): WrappedApolloProvider<ExtraProps>;
//# sourceMappingURL=WrapApolloProvider.d.ts.map