///
import { Logger, OnApplicationShutdown, OnModuleInit } from "@nestjs/common";
import { DiscoveredMethodWithMeta, DiscoveryService } from "@golevelup/nestjs-discovery";
import Aedes from "aedes";
import { Client } from "aedes";
import { Subscription } from "aedes";
import { IPacket } from "mqtt-packet";
import { PigeonModuleOptions, PigeonSubscriber, MqttSubscriberParameter } from "pigeon.interface";
type DiscoveredMethodWithMetaAndParameters = DiscoveredMethodWithMeta & {
params: MqttSubscriberParameter[];
};
type HandlerMethodParameters = {
client?: Client;
packet?: IPacket;
subscription?: Subscription;
subscriptions?: Subscription[];
unsubscription?: string[];
callback?: (...args: unknown[]) => unknown;
username?: string;
password?: Readonly;
error?: any;
};
export declare class PigeonExplorer implements OnModuleInit, OnApplicationShutdown {
private readonly discoveryService;
private readonly options;
private readonly logger;
private readonly broker;
private readonly reflector;
subscribers: PigeonSubscriber[];
constructor(discoveryService: DiscoveryService, options: PigeonModuleOptions, logger: Logger, broker: Aedes);
onModuleInit(): void;
onApplicationShutdown(signal?: string): Promise;
init(): Promise;
processHandlerListener(subscribers: DiscoveredMethodWithMetaAndParameters[], params?: HandlerMethodParameters): void;
private getMethodParameters;
private getSubscribers;
private getHandlerMethodParameters;
getHost(): {
id: string;
connectedClients: number;
closed: Readonly;
};
}
export {};