lavva.exalushome
Version:
Library implementing communication and abstraction layers for ExalusHome system
15 lines (14 loc) • 1.26 kB
TypeScript
import { Status } from "../../../DataFrame";
import { IDevice } from "../../Devices/IDevice";
import { ResponseResult } from "../../FieldChangeResult";
import { ICustomUpdateActions } from "../CustomUpdateActions/ICustomUpdateActions";
import { UpdateInfo } from "../IUpdatesProvider";
import { BulkUpdateResult, UpdateAction, UpdateErrorCode, UpdateProgress } from "../IUpdatesService";
import { IUpdateProviderService } from "./IUpdateProviderService";
export interface IDeviceUpdateProviderService extends IUpdateProviderService {
GetAvailableUpdateAsync(device: IDevice): Promise<UpdateInfo | ResponseResult<UpdateErrorCode>>;
InstallUpdateAsync<T extends ICustomUpdateActions>(update: UpdateInfo, updateProgress: UpdateProgress, updateAction?: UpdateAction<T>, force?: boolean): Promise<Status.OK | ResponseResult<UpdateErrorCode>>;
GetSoftwareVersionAsync(device: IDevice): Promise<string | ResponseResult<UpdateErrorCode>>;
CheckUpdateBulkAsync(reloadCache?: boolean): Promise<UpdateInfo[] | ResponseResult<UpdateErrorCode>>;
InstalUpdateBulkAsync<T extends ICustomUpdateActions>(deviceGuids: string[], updateProgress: UpdateProgress, updateAction?: UpdateAction<T>): Promise<BulkUpdateResult | ResponseResult<UpdateErrorCode>>;
}