import { IManagedObject, InventoryService, IResultList, FetchClient, IdentityService } from '@c8y/client';
import { MultipleLnsConnectorService } from './multiple-lns-connectors';
import { ActilityConnection, ConnectionType, SigfoxConnection } from './multiple-lns-connectors/multiple-lns-connector.model';
import * as i0 from "@angular/core";
export declare class LpwanSetDeviceProtocolService {
    private inventoryService;
    private client;
    private identityService;
    private lnsService;
    supportedDevicesCfgs: {
        name: string;
        match: (device: any) => boolean;
        protocolTypes: string[];
        externalIdTypes: string[];
        connectionType: ConnectionType;
    }[];
    private readonly header;
    constructor(inventoryService: InventoryService, client: FetchClient, identityService: IdentityService, lnsService: MultipleLnsConnectorService);
    refreshCache(device: any): Promise<import("@c8y/client").IFetchResponse>;
    getMicroserviceUrl(device: any): string;
    isSupportedDevice(device: IManagedObject): boolean;
    getCurrentProtocol(device: IManagedObject): Promise<IManagedObject>;
    applyProtocol(device: IManagedObject, selectedProtocol: IManagedObject): Promise<import("@c8y/client").IResult<IManagedObject>>;
    getAvailableProtocols(device: IManagedObject): Promise<IResultList<IManagedObject>>;
    getAvailableConnections(device: IManagedObject): Promise<IResultList<ActilityConnection | SigfoxConnection>>;
    private getProtocolTypesMatchingDevice;
    private getExternalId;
    static ɵfac: i0.ɵɵFactoryDeclaration<LpwanSetDeviceProtocolService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<LpwanSetDeviceProtocolService>;
}
//# sourceMappingURL=lpwan-set-device-protocol.service.d.ts.map