import { Apollo } from 'apollo-angular';
import { ApolloCache } from '@apollo/client/core';
import { InjectionToken } from '@angular/core';
import { ApolloTestingBackend } from './backend';
export declare type NamedCaches = Record<string, ApolloCache<any> | undefined | null>;
export declare const APOLLO_TESTING_CACHE: InjectionToken<ApolloCache<any>>;
export declare const APOLLO_TESTING_NAMED_CACHE: InjectionToken<Record<string, ApolloCache<any>>>;
export declare const APOLLO_TESTING_CLIENTS: InjectionToken<string[]>;
export declare class ApolloTestingModuleCore {
    constructor(apollo: Apollo, backend: ApolloTestingBackend, namedClients?: string[], cache?: ApolloCache<any>, namedCaches?: any);
}
export declare class ApolloTestingModule {
    static withClients(names: string[]): {
        ngModule: typeof ApolloTestingModuleCore;
        providers: {
            provide: InjectionToken<string[]>;
            useValue: string[];
        }[];
    };
}
