import { OnModuleInit } from '@nestjs/common';
import { DiscoveryService } from '@nestjs/core';
import { InstanceWrapper } from '@nestjs/core/injector/instance-wrapper';
import { InstanceToken } from '@nestjs/core/injector/module';
import { GqlExecutionContext } from '@nestjs/graphql';
import DataLoader from 'dataloader';
import { DataloaderFactory } from '../interfaces/dataloader-factory.interface';
export type DataloaderMap = Map<InstanceToken, DataLoader<any, any, any>>;
export declare class DataloaderDiscoveryService implements OnModuleInit {
    private readonly discovery;
    private providers?;
    constructor(discovery: DiscoveryService);
    onModuleInit(): void;
    discoverDataloaders(): InstanceWrapper<DataloaderFactory>[];
    createDataloaderMap(ctx: GqlExecutionContext): DataloaderMap;
}
