"""
xCoreSDK_Upgrade_py, Python version based on C++ SDK
"""
from __future__ import annotations
import typing
__all__ = ['BackupItem', 'BaseUpgrade', 'PyErrorCode', 'PyString', 'backupRlProgram', 'controllerLog', 'createErrorCode', 'customConfig', 'message', 'rlProgram', 'robotConfig', 'robotConfigWithoutBodyParams', 'sdkRecordPath', 'systemLog']
class BackupItem:
    """
    控制器备份项
    
    Members:
    
      customConfig : 自定义配置
    
      robotConfig : 机器人配置
    
      robotConfigWithoutBodyParams : 机器人配置不含本体参数
    
      controllerLog : 控制器日志
    
      systemLog : 系统日志
    
      rlProgram : RL程序
    
      backupRlProgram : 备份RL工程
    
      sdkRecordPath : 通过SDK录制的拖动示教路径
    """
    __members__: typing.ClassVar[dict[str, BackupItem]]  # value = {'customConfig': <BackupItem.customConfig: 0>, 'robotConfig': <BackupItem.robotConfig: 1>, 'robotConfigWithoutBodyParams': <BackupItem.robotConfigWithoutBodyParams: 2>, 'controllerLog': <BackupItem.controllerLog: 3>, 'systemLog': <BackupItem.systemLog: 4>, 'rlProgram': <BackupItem.rlProgram: 5>, 'backupRlProgram': <BackupItem.backupRlProgram: 6>, 'sdkRecordPath': <BackupItem.sdkRecordPath: 7>}
    backupRlProgram: typing.ClassVar[BackupItem]  # value = <BackupItem.backupRlProgram: 6>
    controllerLog: typing.ClassVar[BackupItem]  # value = <BackupItem.controllerLog: 3>
    customConfig: typing.ClassVar[BackupItem]  # value = <BackupItem.customConfig: 0>
    rlProgram: typing.ClassVar[BackupItem]  # value = <BackupItem.rlProgram: 5>
    robotConfig: typing.ClassVar[BackupItem]  # value = <BackupItem.robotConfig: 1>
    robotConfigWithoutBodyParams: typing.ClassVar[BackupItem]  # value = <BackupItem.robotConfigWithoutBodyParams: 2>
    sdkRecordPath: typing.ClassVar[BackupItem]  # value = <BackupItem.sdkRecordPath: 7>
    systemLog: typing.ClassVar[BackupItem]  # value = <BackupItem.systemLog: 4>
    def __eq__(self, other: typing.Any) -> bool:
        ...
    def __getstate__(self) -> int:
        ...
    def __hash__(self) -> int:
        ...
    def __index__(self) -> int:
        ...
    def __init__(self, value: int) -> None:
        ...
    def __int__(self) -> int:
        ...
    def __ne__(self, other: typing.Any) -> bool:
        ...
    def __repr__(self) -> str:
        ...
    def __setstate__(self, state: int) -> None:
        ...
    def __str__(self) -> str:
        ...
    @property
    def name(self) -> str:
        ...
    @property
    def value(self) -> int:
        ...
class BaseUpgrade:
    @typing.overload
    def __init__(self) -> None:
        ...
    @typing.overload
    def __init__(self, arg0: str) -> None:
        ...
    @typing.overload
    def connect(self, ec: dict) -> None:
        """
        连接到机器人升级程序
        
        Args:
             ec (dict): 错误码, 无法连接到升级程序，或重复链接被拒绝
        """
    @typing.overload
    def connect(self, remote_ip: str) -> None:
        """
        连接到机器人升级程序
        
        Args:
             ec (dict): 错误码, 无法连接到升级程序，或重复链接被拒绝
        """
    def exportBackup(self, local_file_path: str, items: set[BackupItem], ec: dict, encrypted: bool = True) -> None:
        """
        导出控制器备份，阻塞等待升级完成或出错，或等待超时，超时时间2分钟。
        
        Args:
             local_file_path (str): 导出文件到该本地文件
             items (set[BackupItem]): 备份项
             ec (dict): 错误码, 网络连接问题/文件传输过程储存/有升级备份操作未完成/保存失败
             encrypted (bool): 是否加密, 默认加密导出
        """
    def upgrade(self, local_file_path: str, ec: dict) -> None:
        """
        升级控制器各类文件, 包括: 控制器固件版本rpa文件, 控制器备份rpa文件。阻塞等待升级完成或出错，或等待超时，超时时间1分钟。
        
        Args:
             local_file_path (str): 文件本地路径
             ec (dict): 错误码, 本地文件打开失败/网络连接问题/升级文件格式错误/升级失败/有升级备份操作未完成
        """
class PyErrorCode:
    """
    用于转换c++中的std::errorcode在python中使用
    """
    @typing.overload
    def __init__(self) -> None:
        ...
    @typing.overload
    def __init__(self, arg0: ...) -> None:
        ...
    def get(self) -> ...:
        ...
    def message(self) -> str:
        ...
    def value(self) -> int:
        ...
class PyString:
    """
    用于在python中使用的string类型可以在c++函数内更改
    """
    @typing.overload
    def __init__(self) -> None:
        ...
    @typing.overload
    def __init__(self, arg0: str) -> None:
        ...
    def content(self) -> str:
        """
        获取string的值
        """
    def get(self) -> str:
        ...
def createErrorCode() -> PyErrorCode:
    """
    创建一个空的PyErrorCode对象
    """
def message(arg0: dict) -> ...:
    """
    打印错误码信息
    """
backupRlProgram: BackupItem  # value = <BackupItem.backupRlProgram: 6>
controllerLog: BackupItem  # value = <BackupItem.controllerLog: 3>
customConfig: BackupItem  # value = <BackupItem.customConfig: 0>
rlProgram: BackupItem  # value = <BackupItem.rlProgram: 5>
robotConfig: BackupItem  # value = <BackupItem.robotConfig: 1>
robotConfigWithoutBodyParams: BackupItem  # value = <BackupItem.robotConfigWithoutBodyParams: 2>
sdkRecordPath: BackupItem  # value = <BackupItem.sdkRecordPath: 7>
systemLog: BackupItem  # value = <BackupItem.systemLog: 4>
