import { IDIService } from "../../IDIService"; import { HardwareInfo, SoftwareRuntimeInfo } from "./UpdatesProvider"; import { IUpdateProviderService } from "./UpdateProviderServices/IUpdateProviderService"; export interface IUpdatesProvider extends IDIService { RegisterUpdatesProvider(service: IUpdateProviderService): void; GetUpdatesProviderAsync(serviceName: string): Promise; GetUpdatesProvidersAsync(updateProviderType: ProviderType): Promise; GetUpdatesProvidersByProtocolAsync(protocolGuid: string, updateProviderType: ProviderType, apiVersion?: string): Promise; GetUpdatesProvidersByExtensionAsync(extensionGuid: string, updateProviderType: ProviderType, apiVersion?: string): Promise; GetSoftwareRuntimeInfoAsync(reloadCachedData?: boolean): Promise; GetHardwareInfoAsync(reloadCachedData?: boolean): Promise; } export declare enum ProviderType { Device = 0, Controller = 1 } export declare class Update { UpdateGuid: string; Channel: string; Version: string; CurrentVersion: string; DownloadUri: string; Download: string; Name: string; Description: string; UpdateType: UpdateTypes; ResourceGuid: string; } export declare class UpdateInfo { UpdateDescription: Map; Update: Update; UpdatedResourceName: string; CurrentResourceVersion: string; } export declare enum UpdateTypes { Unknown = 0, Container = 1, RadioFirmware = 2, DeviceFirmware = 3, Configuration = 4, ContainerScript = 5, ContainerSoftware = 6, RuntimeSoftware = 7, RuntimeScript = 8, RuntimeFixingScript = 9 } export declare class UpdatesProviderNotFound extends Error { message: string; constructor(message: string); }