import { NetworkInterface } from './transport/networkInterface'; import { ApolloStore, ApolloReducerConfig, Store } from './store'; import { CustomResolverMap } from './data/readFromStore'; import { QueryManager } from './core/QueryManager'; import { ApolloQueryResult, ResultComparator, ResultTransformer, IdGetter } from './core/types'; import { ObservableQuery } from './core/ObservableQuery'; import { Observable } from './util/Observable'; import { WatchQueryOptions, SubscriptionOptions, MutationOptions } from './core/watchQueryOptions'; export declare type ApolloStateSelector = (state: any) => Store; export default class ApolloClient { networkInterface: NetworkInterface; store: ApolloStore; reduxRootKey: string; reduxRootSelector: ApolloStateSelector | null; initialState: any; queryManager: QueryManager; reducerConfig: ApolloReducerConfig; addTypename: boolean; resultTransformer: ResultTransformer | undefined; resultComparator: ResultComparator | undefined; shouldForceFetch: boolean; dataId: IdGetter | undefined; fieldWithArgs: (fieldName: string, args?: Object) => string; version: string; queryDeduplication: boolean; private devToolsHookCb; constructor(options?: { networkInterface?: NetworkInterface; reduxRootKey?: string; reduxRootSelector?: string | ApolloStateSelector; initialState?: any; dataIdFromObject?: IdGetter; resultTransformer?: ResultTransformer; resultComparator?: ResultComparator; ssrMode?: boolean; ssrForceFetchDelay?: number; addTypename?: boolean; customResolvers?: CustomResolverMap; connectToDevTools?: boolean; queryDeduplication?: boolean; }); watchQuery(options: WatchQueryOptions): ObservableQuery; query(options: WatchQueryOptions): Promise>; mutate(options: MutationOptions): Promise>; subscribe(options: SubscriptionOptions): Observable; reducer(): Function; __actionHookForDevTools(cb: Function): void; middleware: () => (store: ApolloStore) => (next: any) => (action: any) => any; initStore(): void; resetStore(): void; getInitialState(): { data: Object; }; private setStore(store); }