import { Type } from '@nestjs/common';
import { Module } from '@nestjs/core/injector/module';
import { OperationMethode } from '../types';
import { ObjectLiteral as Entity } from '../../../types';
import { InputArray, Operation } from '../utils';
import { JsonBaseController } from '../../mixin/controller/json-base.controller';
export declare class ExplorerService<E extends Entity = Entity> {
    private readonly modulesContainer;
    private readonly mapEntity;
    private readonly mapController;
    private mapModuleByController;
    getControllerByEntityName(entityName: string): Type<JsonBaseController<E>>;
    getMethodNameByParam(operation: Operation, id?: string, rel?: string): OperationMethode<E>;
    getParamsForMethod(methodName: OperationMethode<E>, data: InputArray[number]): Parameters<JsonBaseController<E>[typeof methodName]>;
    getModulesByController(controllers: Type<JsonBaseController<E>>): Module;
}
