import { OnModuleDestroy } from '@nestjs/common';
import { ConfigType } from '@nestjs/config';
import { IoTConfig } from './iot.config';
import { IoTHandler } from './iot.handler';
import { IoTData } from '../api';
export declare class IoTClient implements OnModuleDestroy {
    private readonly config;
    private readonly logger;
    private connection;
    private connected;
    private subscriptions;
    constructor(config: ConfigType<typeof IoTConfig>);
    create(iotData: IoTData, handler: IoTHandler): Promise<this>;
    private bindEvents;
    subscribe(topic: string): Promise<void>;
    publish(topic: string, payload: string): Promise<void>;
    unsubscribe(): Promise<void>;
    onModuleDestroy(): Promise<void>;
    disconnect(): Promise<void>;
}
//# sourceMappingURL=iot.client.d.ts.map