4_64KEY: int
KEY_WOW64_32KEY: int

REG_BINARY: int
REG_DWORD: int
REG_DWORD_LITTLE_ENDIAN: int
REG_DWORD_BIG_ENDIAN: int
REG_EXPAND_SZ: int
REG_LINK: int
REG_MULTI_SZ: int
REG_NONE: int
REG_RESOURCE_LIST: int
REG_FULL_RESOURCE_DESCRIPTOR: int
REG_RESOURCE_REQUIREMENTS_LIST: int
REG_SZ: int

REG_CREATED_NEW_KEY: int  # undocumented
REG_LEGAL_CHANGE_FILTER: int  # undocumented
REG_LEGAL_OPTION: int  # undocumented
REG_NOTIFY_CHANGE_ATTRIBUTES: int  # undocumented
REG_NOTIFY_CHANGE_LAST_SET: int  # undocumented
REG_NOTIFY_CHANGE_NAME: int  # undocumented
REG_NOTIFY_CHANGE_SECURITY: int  # undocumented
REG_NO_LAZY_FLUSH: int  # undocumented
REG_OPENED_EXISTING_KEY: int  # undocumented
REG_OPTION_BACKUP_RESTORE: int  # undocumented
REG_OPTION_CREATE_LINK: int  # undocumented
REG_OPTION_NON_VOLATILE: int  # undocumented
REG_OPTION_OPEN_LINK: int  # undocumented
REG_OPTION_RESERVED: int  # undocumented
REG_OPTION_VOLATILE: int  # undocumented
REG_REFRESH_HIVE: int  # undocumented
REG_WHOLE_HIVE_VOLATILE: int  # undocumented

error = OSError

# Though this class has a __name__ of PyHKEY, it's exposed as HKEYType for some reason
class HKEYType:
    def __bool__(self) -> bool: ...
    def __int__(self) -> int: ...
    def __enter__(self) -> HKEYType: ...
    def __exit__(
        self, exc_type: Optional[Type[BaseException]], exc_val: Optional[BaseException], exc_tb: Optional[TracebackType]
    ) -> Optional[bool]: ...
    def Close(self) -> None: ...
    def Detach(self) -> int: ...
PK