import type { ThetaDevice } from '../theta-device';
import { ThetaService } from './theta-service';
import { BleServiceEnum } from './values';
import type { PeripheralDevice } from './data';
/**
 * Bluetooth Control Command Service
 *
 * Service: 0F291746-0C80-4726-87A7-3C501FD3B4B6
 */
export declare class BluetoothControlCommand extends ThetaService {
    readonly service: BleServiceEnum;
    readonly device: ThetaDevice;
    constructor(device: ThetaDevice);
    private setNotifyScan;
    private setCompletedScan;
    /**
     * Scanning for peripheral device
     *
     * Scan characteristic: 03F423B3-A71F-4D70-A4BC-437C3137AFCD
     * Notify characteristic: 7B058429-DF5C-4454-88A2-C81086131C30
     *
     * @param timeout Timeout of scanning
     * @return Scanned peripheral device list.
     */
    scanPeripheralDevice(timeout: number): Promise<PeripheralDevice[]>;
    /**
     * Scanning start for peripheral device
     *
     * onCompleted is called in a timeout.
     *
     * Scan characteristic: 03F423B3-A71F-4D70-A4BC-437C3137AFCD
     * Notify characteristic: 7B058429-DF5C-4454-88A2-C81086131C30
     *
     * @param timeout Timeout of scanning
     * @param onNotify Notification of discovery of peripheral device
     * @param onCompleted Notification of scan completion
     */
    scanPeripheralDeviceStart(timeout: number, onNotify: (peripheralDevice: PeripheralDevice) => void, onCompleted?: (peripheralDeviceList: PeripheralDevice[]) => void): Promise<any>;
    /**
     * Scanning stop for peripheral device
     *
     * Notify characteristic: 7B058429-DF5C-4454-88A2-C81086131C30
     */
    scanPeripheralDeviceStop(): Promise<void>;
    /**
     * Connect to peripheral device
     *
     * Characteristic: 1FA3E524-BAD5-4F75-808B-94487A4B9024
     *
     * @param macAddress MAC address of peripheral device
     */
    connectPeripheralDevice(peripheralDevice: PeripheralDevice): Promise<any>;
    /**
     * Unsubscribe from peripheral device
     *
     * Characteristic: 61A37C82-D635-43B9-A973-5857EFE64094
     *
     * @param peripheralDevice Peripheral device
     */
    deletePeripheralDevice(peripheralDevice: PeripheralDevice): Promise<any>;
}
//# sourceMappingURL=bluetooth-control-command.d.ts.map