import { IoTizeClient } from '@iotize/device-client.js/client/api';
import { DeviceService, BundleService, FirmwareService, GroupService, InterfaceService, TargetService, VariableService, ScramService, SinglePacketService, DataLogService, AdpService, LoraService } from './service';
import { ApiConfig } from './config/api-config';
import { AbstractService } from './service/abstract-service';
/**
 * TODO Generate this class
 */
export declare class IoTizeDeviceService {
    protected _bundle: BundleService;
    protected _device: DeviceService;
    protected _datalog: DataLogService;
    protected _scram: ScramService;
    protected _firmware: FirmwareService;
    protected _group: GroupService;
    protected _interface: InterfaceService;
    protected _target: TargetService;
    protected _variable: VariableService;
    protected _singlePacket: SinglePacketService;
    protected _adp: AdpService;
    protected _lora: LoraService;
    static create(client: IoTizeClient, apiConfig: ApiConfig): IoTizeDeviceService;
    constructor(_bundle: BundleService, _device: DeviceService, _datalog: DataLogService, _scram: ScramService, _firmware: FirmwareService, _group: GroupService, _interface: InterfaceService, _target: TargetService, _variable: VariableService, _singlePacket: SinglePacketService, _adp: AdpService, _lora: LoraService);
    list(): AbstractService[];
    get device(): DeviceService;
    get bundle(): BundleService;
    get datalog(): DataLogService;
    get firmware(): FirmwareService;
    get group(): GroupService;
    get interface(): InterfaceService;
    get target(): TargetService;
    get variable(): VariableService;
    get scram(): ScramService;
    get singlePacket(): SinglePacketService;
    get lora(): LoraService;
    get adp(): AdpService;
    set client(client: IoTizeClient);
}
