import { Status } from "lavva.exalushome/build/js/DataFrame";
import { ExtensionInfo } from "lavva.exalushome/build/js/Services/Controller/ControllerExtensionsService";
import { ResponseResult } from "lavva.exalushome/build/js/Services/FieldChangeResult";
import { SoftwareRuntimeInfo } from "lavva.exalushome/build/js/Services/Updates/UpdatesProvider";
import { ProviderType, UpdateInfo } from "lavva.exalushome/build/js/Services/Updates/IUpdatesProvider";
import { UpdateAction, UpdateErrorCode, UpdateProgress } from "lavva.exalushome/build/js/Services/Updates/IUpdatesService";
import { IControllerModulesUpdatesProviderService } from "lavva.exalushome/build/js/Services/Updates/UpdateProviderServices/IControllerModulesUpdatesProviderService";
import { ICustomUpdateActions } from "lavva.exalushome/build/js/Services/Updates/CustomUpdateActions/ICustomUpdateActions";
export declare class ExtaLifeControllerRadioUpdatesProvider implements IControllerModulesUpdatesProviderService {
    static readonly ProviderName = "ExtaLifeControllerUpdateProvider";
    private _apiVersion;
    private _extenstionVersion;
    private _protocolExtGuid;
    private _runtimeInfo;
    private _logger;
    private _connection;
    constructor(extInfo: ExtensionInfo, runtimeInfo: SoftwareRuntimeInfo);
    get AvailableExtensionVersion(): string;
    get AvailableApiVersion(): string;
    get ExtensionGuid(): string;
    get ProtocolGuid(): string;
    get ProviderType(): ProviderType;
    GetUpdateProviderName(): string;
    GetAvailableRadioUpdateAsync(): Promise<UpdateInfo | ResponseResult<UpdateErrorCode>>;
    GetCurrentRadioVersionAsync(): Promise<string>;
    InstallRadioUpdateAsync<T extends ICustomUpdateActions>(update: UpdateInfo, updateProgress: UpdateProgress, updateAction?: UpdateAction<T> | undefined): Promise<ResponseResult<UpdateErrorCode> | Status.OK>;
}
