import ApolloClient, { ApolloQueryResult } from 'apollo-client';
import { KikstartGraphQLClientConfig } from './kikstart-apollo-client';
import { WebSocketLink } from 'apollo-link-ws';
import { SubscriptionClient } from 'subscriptions-transport-ws';
import { ApolloLink, FetchResult, Observable } from 'apollo-link';
import { InMemoryCache } from 'apollo-cache-inmemory';
export declare class GraphQLClient {
    config: KikstartGraphQLClientConfig;
    apollo: ApolloClient<InMemoryCache | any>;
    httpLink: ApolloLink;
    wsClient: SubscriptionClient;
    wsLink: WebSocketLink;
    constructor(config: KikstartGraphQLClientConfig);
    private query;
    runQuery(query: any, variables?: {}): Promise<ApolloQueryResult<any>>;
    runMutation(mutation: any, variables?: {}): Promise<FetchResult>;
    runSubscription(query: any, variables?: {}): Observable<FetchResult<any>>;
    disconnect(): void;
}
