import { NormalizedCache } from './data/store';
import { QueryStore } from './queries/store';
import { MutationStore } from './mutations/store';
import { ApolloAction } from './actions';
import { IdGetter } from './data/extensions';
export interface Store {
    data: NormalizedCache;
    queries: QueryStore;
    mutations: MutationStore;
}
export interface ApolloStore {
    dispatch: (action: ApolloAction) => void;
    getState: () => any;
}
export declare function createApolloReducer(config: ApolloReducerConfig): Function;
export declare function createApolloStore({reduxRootKey, initialState, config}?: {
    reduxRootKey?: string;
    initialState?: any;
    config?: ApolloReducerConfig;
}): ApolloStore;
export interface ApolloReducerConfig {
    dataIdFromObject?: IdGetter;
}
