import { Status } from "../../../DataFrame";
import { ResponseResult } from "../../FieldChangeResult";
import { ICustomUpdateActions } from "../CustomUpdateActions/ICustomUpdateActions";
import { UpdateInfo } from "../IUpdatesProvider";
import { UpdateAction, UpdateErrorCode, UpdateProgress } from "../IUpdatesService";
import { IUpdateProviderService } from "./IUpdateProviderService";
export interface IControllerModulesUpdatesProviderService extends IUpdateProviderService {
    GetAvailableRadioUpdateAsync(): Promise<UpdateInfo | ResponseResult<UpdateErrorCode>>;
    InstallRadioUpdateAsync<T extends ICustomUpdateActions>(update: UpdateInfo, updateProgress: UpdateProgress, updateAction?: UpdateAction<T>): Promise<Status.OK | ResponseResult<UpdateErrorCode>>;
    GetCurrentRadioVersionAsync(): Promise<string>;
}
