import { EventBus, IEventHandler } from '@nestjs/cqrs';
import { Subject } from 'rxjs';
import { DeviceId } from '../../../common';
import { BleClient } from '../../../data';
import { CommandExpiredEvent } from '../../devices/cqrs';
import { Device } from '../../devices/device';
import { ChannelService } from '../channel.service';
import { BleChannelConfig } from './ble-channel.types';
export declare class BleChannelService extends ChannelService<BleChannelConfig, true> implements IEventHandler<CommandExpiredEvent> {
    private readonly bleClient;
    readonly togglable: true;
    readonly name: 'ble';
    private readonly devices;
    private readonly peripherals;
    constructor(bleClient: BleClient, eventBus: EventBus, enabled?: boolean, deviceIds?: string[]);
    private allowedDevice;
    handle(event: CommandExpiredEvent): void;
    toPeripheralId(deviceId: DeviceId): string;
    toDeviceId(peripheralId: string): string;
    recordDevice(device: Device): void;
    isPeripheralKnown(deviceId: DeviceId): boolean;
    sendCommand(commandId: string, id: DeviceId, bleAddress: string, commands: number[][], results$: Subject<number[]>): void;
}
//# sourceMappingURL=ble-channel.service.d.ts.map