import { OnModuleDestroy } from '@nestjs/common';
import { EventBus, IEventHandler } from '@nestjs/cqrs';
import { OpenAPIService } from '../../../data';
import { DeviceRefeshEvent } from '../../devices/cqrs/events/device-refresh.event';
import { DeviceStateCommandEvent } from '../../devices/cqrs/events/device-state-command.event';
import { ChannelService } from '../channel.service';
import { OpenApiChannelConfiguration } from './openapi-channel.types';
export declare class OpenApiChannelService extends ChannelService<OpenApiChannelConfiguration, true> implements OnModuleDestroy, IEventHandler<DeviceRefeshEvent>, IEventHandler<DeviceStateCommandEvent> {
    private readonly openapi;
    readonly togglable: true;
    readonly name: 'openapi';
    constructor(enabled: boolean, openapi: OpenAPIService, eventBus: EventBus);
    onModuleDestroy(): Promise<void>;
    disconnect(): Promise<void>;
    connect(config: OpenApiChannelConfiguration): Promise<void>;
    private get accountTopic();
    handle(event: DeviceRefeshEvent | DeviceStateCommandEvent): Promise<void>;
    publishMessage(commandId: string, topic: string, payload: object, debug?: boolean): Promise<void>;
}
//# sourceMappingURL=openapi-channel.service.d.ts.map