import { Type } from '@nestjs/common';
import { Reflector } from '@nestjs/core';
import { InstanceWrapper } from '@nestjs/core/injector/instance-wrapper';
import { Module } from '@nestjs/core/injector/module';
import { ModulesContainer } from '@nestjs/core/injector/modules-container';
export declare class ExplorerService {
    private readonly modulesContainer;
    private readonly reflector;
    constructor(modulesContainer: ModulesContainer, reflector: Reflector);
    explore(): {
        messages: Type<unknown>[];
        actions: Type<unknown>[];
        commands: Type<unknown>[];
        events: Type<unknown>[];
        shortcuts: Type<unknown>[];
        views: Type<unknown>[];
    };
    flatMap<T>(modules: Module[], callback: (instance: InstanceWrapper) => Type<any> | undefined): Type<T>[];
    filterProvider(wrapper: InstanceWrapper, metadataKey: string): Type<any> | undefined;
    extractMetadata(instance: Record<string, any>, metadataKey: string): Type<any>;
}
