import { ConfigType } from '@nestjs/config';
import { BehaviorSubject, Subject } from 'rxjs';
import { BleConfig } from './ble.options';
import { BleCommand, BlePeripheral } from './ble.types';
import { DecodedDevice } from './decoder';
import { DecoderService } from './decoder/decoder.service';
export declare class BleClient {
    private readonly config;
    private readonly decoder;
    private readonly logger;
    private noble;
    private seenNames;
    private scanning;
    private state;
    private connectedPeripheral;
    readonly enabled: BehaviorSubject<boolean>;
    private readonly peripheralDiscovered;
    private readonly peripheralIds;
    private readonly peripheralAddresses;
    private readonly cancelledCommands;
    readonly peripheralDecoded: Subject<DecodedDevice>;
    readonly commandQueue: Subject<BleCommand>;
    private peripheralFilter;
    set filterPeripherals(predicate: (peripheral: BlePeripheral) => boolean);
    constructor(config: ConfigType<typeof BleConfig>, decoder: DecoderService);
    private decodePeripheral;
    private recordPeripheral;
    private onDisabled;
    private onEnabled;
    stopScanning(): Promise<void>;
    startScanning(): Promise<void>;
    cancelCommand(commandId: string): void;
    private sendCommand;
}
//# sourceMappingURL=ble.client.d.ts.map