import { Reflector } from '@nestjs/core'; import { TextCommandDiscovery } from '../text-commands'; import { ListenerDiscovery } from '../listeners'; import { InteractionComponentDiscovery } from '../interaction-components/interaction-component.discovery'; interface DiscoveredItem { class: new (...args: unknown[]) => unknown; handler?: (...args: unknown[]) => void; } export declare abstract class NestGramBaseDiscovery { meta: T; protected readonly reflector: Reflector; protected discovery: DiscoveredItem; protected contextCallback: (context: unknown, discovery: unknown) => unknown; constructor(meta: T); getClass(): new (...args: unknown[]) => unknown; getHandler(): (...args: unknown[]) => void; setDiscoveryMeta(meta: DiscoveredItem): void; setContextCallback(fn: (context: unknown, discovery: unknown) => unknown): void; execute(context?: unknown): unknown; isListener(): this is ListenerDiscovery; isTextCommand(): this is TextCommandDiscovery; isInteractionComponent(): this is InteractionComponentDiscovery; abstract toJSON(): Record; } export {};