import { FetchClient, IManagedObject, InventoryService, IResult, IResultList } from '@c8y/client';
import { TranslateService } from '@ngx-translate/core';
import { AppStateService } from '@c8y/ngx-components';
import { Application, LoriotDevice } from './loriot-device-registration.model';
import * as i0 from "@angular/core";
export declare enum LoriotErrorName {
    NoDeviceProtocolsError = "NoDeviceProtocolsError",
    NoConnectivitySettingsError = "NoConnectivitySettingsError",
    ConnectivitySettingsError = "ConnectivitySettingsError",
    RegistrationError = "RegistrationError",
    DeviceProtocolsFetchError = "DeviceProtocolsFetchError",
    ApplicationError = "ApplicationError"
}
export declare class LoriotProviderService {
    private client;
    private inventoryService;
    private translateService;
    private appState;
    private readonly baseUrl;
    private readonly registrationUrl;
    private readonly header;
    private readonly applicationsUrl;
    constructor(client: FetchClient, inventoryService: InventoryService, translateService: TranslateService, appState: AppStateService);
    getConnections(): Promise<{
        res: import("@c8y/client").IFetchResponse;
        data: any;
    }>;
    createDevice(device: LoriotDevice): Promise<IResult<LoriotDevice>>;
    getAvailableProtocols(filter?: object): Promise<IResultList<IManagedObject>>;
    getApplications(connectionName: string): Promise<IResultList<Application>>;
    private throwNoConnectivitySettingsError;
    private throwConnectivitySettingsError;
    private throwRegistrationError;
    private throwDeviceProtocolsFetchError;
    private throwNoDeviceProtocolsError;
    private throwApplicationError;
    static ɵfac: i0.ɵɵFactoryDeclaration<LoriotProviderService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<LoriotProviderService>;
}
//# sourceMappingURL=loriot-provider.service.d.ts.map