# WARNING: Please don't edit this file. It was generated by Python/WinRT v1.0.0-beta.9

import enum
import datetime
import sys
import types
import typing

import winsdk.system
import winsdk.windows.applicationmodel.appservice
import winsdk.windows.foundation
import winsdk.windows.foundation.collections
import winsdk.windows.networking
import winsdk.windows.security.credentials
import winsdk.windows.system

class RemoteSystemAccessStatus(enum.IntEnum):
    UNSPECIFIED = 0
    ALLOWED = 1
    DENIED_BY_USER = 2
    DENIED_BY_SYSTEM = 3

class RemoteSystemAuthorizationKind(enum.IntEnum):
    SAME_USER = 0
    ANONYMOUS = 1

class RemoteSystemDiscoveryType(enum.IntEnum):
    ANY = 0
    PROXIMAL = 1
    CLOUD = 2
    SPATIALLY_PROXIMAL = 3

class RemoteSystemPlatform(enum.IntEnum):
    UNKNOWN = 0
    WINDOWS = 1
    ANDROID = 2
    IOS = 3
    LINUX = 4

class RemoteSystemSessionCreationStatus(enum.IntEnum):
    SUCCESS = 0
    SESSION_LIMITS_EXCEEDED = 1
    OPERATION_ABORTED = 2

class RemoteSystemSessionDisconnectedReason(enum.IntEnum):
    SESSION_UNAVAILABLE = 0
    REMOVED_BY_CONTROLLER = 1
    SESSION_CLOSED = 2

class RemoteSystemSessionJoinStatus(enum.IntEnum):
    SUCCESS = 0
    SESSION_LIMITS_EXCEEDED = 1
    OPERATION_ABORTED = 2
    SESSION_UNAVAILABLE = 3
    REJECTED_BY_CONTROLLER = 4

class RemoteSystemSessionMessageChannelReliability(enum.IntEnum):
    RELIABLE = 0
    UNRELIABLE = 1

class RemoteSystemSessionParticipantWatcherStatus(enum.IntEnum):
    CREATED = 0
    STARTED = 1
    ENUMERATION_COMPLETED = 2
    STOPPING = 3
    STOPPED = 4
    ABORTED = 5

class RemoteSystemSessionWatcherStatus(enum.IntEnum):
    CREATED = 0
    STARTED = 1
    ENUMERATION_COMPLETED = 2
    STOPPING = 3
    STOPPED = 4
    ABORTED = 5

class RemoteSystemStatus(enum.IntEnum):
    UNAVAILABLE = 0
    DISCOVERING_AVAILABILITY = 1
    AVAILABLE = 2
    UNKNOWN = 3

class RemoteSystemStatusType(enum.IntEnum):
    ANY = 0
    AVAILABLE = 1

class RemoteSystemWatcherError(enum.IntEnum):
    UNKNOWN = 0
    INTERNET_NOT_AVAILABLE = 1
    AUTHENTICATION_ERROR = 2

Self = typing.TypeVar('Self')

class KnownRemoteSystemCapabilities(winsdk.system.Object):
    app_service: typing.ClassVar[str]
    launch_uri: typing.ClassVar[str]
    remote_session: typing.ClassVar[str]
    spatial_entity: typing.ClassVar[str]
    @staticmethod
    def _from(obj: winsdk.system.Object) -> KnownRemoteSystemCapabilities: ...

class RemoteSystem(winsdk.system.Object):
    display_name: str
    id: str
    is_available_by_proximity: winsdk.system.Boolean
    kind: str
    status: RemoteSystemStatus
    is_available_by_spatial_proximity: winsdk.system.Boolean
    manufacturer_display_name: str
    model_display_name: str
    platform: RemoteSystemPlatform
    apps: typing.Optional[winsdk.windows.foundation.collections.IVectorView[RemoteSystemApp]]
    user: typing.Optional[winsdk.windows.system.User]
    @staticmethod
    def _from(obj: winsdk.system.Object) -> RemoteSystem: ...
    @typing.overload
    @staticmethod
    def create_watcher() -> typing.Optional[RemoteSystemWatcher]: ...
    @typing.overload
    @staticmethod
    def create_watcher(filters: typing.Iterable[IRemoteSystemFilter]) -> typing.Optional[RemoteSystemWatcher]: ...
    @typing.overload
    @staticmethod
    def create_watcher_for_user(user: typing.Optional[winsdk.windows.system.User]) -> typing.Optional[RemoteSystemWatcher]: ...
    @typing.overload
    @staticmethod
    def create_watcher_for_user(user: typing.Optional[winsdk.windows.system.User], filters: typing.Iterable[IRemoteSystemFilter]) -> typing.Optional[RemoteSystemWatcher]: ...
    @staticmethod
    def find_by_host_name_async(host_name: typing.Optional[winsdk.windows.networking.HostName]) -> winsdk.windows.foundation.IAsyncOperation[RemoteSystem]: ...
    def get_capability_supported_async(self, capability_name: str) -> winsdk.windows.foundation.IAsyncOperation[winsdk.system.Boolean]: ...
    @staticmethod
    def is_authorization_kind_enabled(kind: RemoteSystemAuthorizationKind) -> winsdk.system.Boolean: ...
    @staticmethod
    def request_access_async() -> winsdk.windows.foundation.IAsyncOperation[RemoteSystemAccessStatus]: ...

class RemoteSystemAddedEventArgs(winsdk.system.Object):
    remote_system: typing.Optional[RemoteSystem]
    @staticmethod
    def _from(obj: winsdk.system.Object) -> RemoteSystemAddedEventArgs: ...

class RemoteSystemApp(winsdk.system.Object):
    attributes: typing.Optional[winsdk.windows.foundation.collections.IMapView[str, str]]
    display_name: str
    id: str
    is_available_by_proximity: winsdk.system.Boolean
    is_available_by_spatial_proximity: winsdk.system.Boolean
    connection_token: str
    user: typing.Optional[winsdk.windows.system.User]
    @staticmethod
    def _from(obj: winsdk.system.Object) -> RemoteSystemApp: ...

class RemoteSystemAppRegistration(winsdk.system.Object):
    attributes: typing.Optional[winsdk.windows.foundation.collections.IMap[str, str]]
    user: typing.Optional[winsdk.windows.system.User]
    @staticmethod
    def _from(obj: winsdk.system.Object) -> RemoteSystemAppRegistration: ...
    @staticmethod
    def get_default() -> typing.Optional[RemoteSystemAppRegistration]: ...
    @staticmethod
    def get_for_user(user: typing.Optional[winsdk.windows.system.User]) -> typing.Optional[RemoteSystemAppRegistration]: ...
    def save_async(self) -> winsdk.windows.foundation.IAsyncOperation[winsdk.system.Boolean]: ...

class RemoteSystemAuthorizationKindFilter(winsdk.system.Object):
    remote_system_authorization_kind: RemoteSystemAuthorizationKind
    @staticmethod
    def _from(obj: winsdk.system.Object) -> RemoteSystemAuthorizationKindFilter: ...
    def __new__(cls: typing.Type[RemoteSystemAuthorizationKindFilter], remote_system_authorization_kind: RemoteSystemAuthorizationKind) -> RemoteSystemAuthorizationKindFilter:...

class RemoteSystemConnectionInfo(winsdk.system.Object):
    is_proximal: winsdk.system.Boolean
    @staticmethod
    def _from(obj: winsdk.system.Object) -> RemoteSystemConnectionInfo: ...
    @staticmethod
    def try_create_from_app_service_connection(connection: typing.Optional[winsdk.windows.applicationmodel.appservice.AppServiceConnection]) -> typing.Optional[RemoteSystemConnectionInfo]: ...

class RemoteSystemConnectionRequest(winsdk.system.Object):
    remote_system: typing.Optional[RemoteSystem]
    remote_system_app: typing.Optional[RemoteSystemApp]
    connection_token: str
    @staticmethod
    def _from(obj: winsdk.system.Object) -> RemoteSystemConnectionRequest: ...
    def __new__(cls: typing.Type[RemoteSystemConnectionRequest], remote_system: typing.Optional[RemoteSystem]) -> RemoteSystemConnectionRequest:...
    @staticmethod
    def create_for_app(remote_system_app: typing.Optional[RemoteSystemApp]) -> typing.Optional[RemoteSystemConnectionRequest]: ...
    @staticmethod
    def create_from_connection_token(connection_token: str) -> typing.Optional[RemoteSystemConnectionRequest]: ...
    @staticmethod
    def create_from_connection_token_for_user(user: typing.Optional[winsdk.windows.system.User], connection_token: str) -> typing.Optional[RemoteSystemConnectionRequest]: ...

class RemoteSystemDiscoveryTypeFilter(winsdk.system.Object):
    remote_system_discovery_type: RemoteSystemDiscoveryType
    @staticmethod
    def _from(obj: winsdk.system.Object) -> RemoteSystemDiscoveryTypeFilter: ...
    def __new__(cls: typing.Type[RemoteSystemDiscoveryTypeFilter], discovery_type: RemoteSystemDiscoveryType) -> RemoteSystemDiscoveryTypeFilter:...

class RemoteSystemEnumerationCompletedEventArgs(winsdk.system.Object):
    @staticmethod
    def _from(obj: winsdk.system.Object) -> RemoteSystemEnumerationCompletedEventArgs: ...

class RemoteSystemKindFilter(winsdk.system.Object):
    remote_system_kinds: typing.Optional[winsdk.windows.foundation.collections.IVectorView[str]]
    @staticmethod
    def _from(obj: winsdk.system.Object) -> RemoteSystemKindFilter: ...
    def __new__(cls: typing.Type[RemoteSystemKindFilter], remote_system_kinds: typing.Iterable[str]) -> RemoteSystemKindFilter:...

class RemoteSystemKinds(winsdk.system.Object):
    desktop: typing.ClassVar[str]
    holographic: typing.ClassVar[str]
    hub: typing.ClassVar[str]
    phone: typing.ClassVar[str]
    xbox: typing.ClassVar[str]
    iot: typing.ClassVar[str]
    laptop: typing.ClassVar[str]
    tablet: typing.ClassVar[str]
    @staticmethod
    def _from(obj: winsdk.system.Object) -> RemoteSystemKinds: ...

class RemoteSystemRemovedEventArgs(winsdk.system.Object):
    remote_system_id: str
    @staticmethod
    def _from(obj: winsdk.system.Object) -> RemoteSystemRemovedEventArgs: ...

class RemoteSystemSession(winsdk.system.Object):
    controller_display_name: str
    display_name: str
    id: str
    def __enter__(self: Self) -> Self: ...
    def __exit__(self, *args) -> None: ...
    @staticmethod
    def _from(obj: winsdk.system.Object) -> RemoteSystemSession: ...
    def close(self) -> None: ...
    def create_participant_watcher(self) -> typing.Optional[RemoteSystemSessionParticipantWatcher]: ...
    @staticmethod
    def create_watcher() -> typing.Optional[RemoteSystemSessionWatcher]: ...
    def send_invitation_async(self, invitee: typing.Optional[RemoteSystem]) -> winsdk.windows.foundation.IAsyncOperation[winsdk.system.Boolean]: ...
    def add_disconnected(self, handler: winsdk.windows.foundation.TypedEventHandler[RemoteSystemSession, RemoteSystemSessionDisconnectedEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    def remove_disconnected(self, token: winsdk.windows.foundation.EventRegistrationToken) -> None: ...

class RemoteSystemSessionAddedEventArgs(winsdk.system.Object):
    session_info: typing.Optional[RemoteSystemSessionInfo]
    @staticmethod
    def _from(obj: winsdk.system.Object) -> RemoteSystemSessionAddedEventArgs: ...

class RemoteSystemSessionController(winsdk.system.Object):
    @staticmethod
    def _from(obj: winsdk.system.Object) -> RemoteSystemSessionController: ...
    @typing.overload
    def __new__(cls: typing.Type[RemoteSystemSessionController], display_name: str) -> RemoteSystemSessionController:...
    @typing.overload
    def __new__(cls: typing.Type[RemoteSystemSessionController], display_name: str, options: typing.Optional[RemoteSystemSessionOptions]) -> RemoteSystemSessionController:...
    def create_session_async(self) -> winsdk.windows.foundation.IAsyncOperation[RemoteSystemSessionCreationResult]: ...
    def remove_participant_async(self, p_participant: typing.Optional[RemoteSystemSessionParticipant]) -> winsdk.windows.foundation.IAsyncOperation[winsdk.system.Boolean]: ...
    def add_join_requested(self, handler: winsdk.windows.foundation.TypedEventHandler[RemoteSystemSessionController, RemoteSystemSessionJoinRequestedEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    def remove_join_requested(self, token: winsdk.windows.foundation.EventRegistrationToken) -> None: ...

class RemoteSystemSessionCreationResult(winsdk.system.Object):
    session: typing.Optional[RemoteSystemSession]
    status: RemoteSystemSessionCreationStatus
    @staticmethod
    def _from(obj: winsdk.system.Object) -> RemoteSystemSessionCreationResult: ...

class RemoteSystemSessionDisconnectedEventArgs(winsdk.system.Object):
    reason: RemoteSystemSessionDisconnectedReason
    @staticmethod
    def _from(obj: winsdk.system.Object) -> RemoteSystemSessionDisconnectedEventArgs: ...

class RemoteSystemSessionInfo(winsdk.system.Object):
    controller_display_name: str
    display_name: str
    @staticmethod
    def _from(obj: winsdk.system.Object) -> RemoteSystemSessionInfo: ...
    def join_async(self) -> winsdk.windows.foundation.IAsyncOperation[RemoteSystemSessionJoinResult]: ...

class RemoteSystemSessionInvitation(winsdk.system.Object):
    sender: typing.Optional[RemoteSystem]
    session_info: typing.Optional[RemoteSystemSessionInfo]
    @staticmethod
    def _from(obj: winsdk.system.Object) -> RemoteSystemSessionInvitation: ...

class RemoteSystemSessionInvitationListener(winsdk.system.Object):
    @staticmethod
    def _from(obj: winsdk.system.Object) -> RemoteSystemSessionInvitationListener: ...
    def __new__(cls: typing.Type[RemoteSystemSessionInvitationListener]) -> RemoteSystemSessionInvitationListener:...
    def add_invitation_received(self, handler: winsdk.windows.foundation.TypedEventHandler[RemoteSystemSessionInvitationListener, RemoteSystemSessionInvitationReceivedEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    def remove_invitation_received(self, token: winsdk.windows.foundation.EventRegistrationToken) -> None: ...

class RemoteSystemSessionInvitationReceivedEventArgs(winsdk.system.Object):
    invitation: typing.Optional[RemoteSystemSessionInvitation]
    @staticmethod
    def _from(obj: winsdk.system.Object) -> RemoteSystemSessionInvitationReceivedEventArgs: ...

class RemoteSystemSessionJoinRequest(winsdk.system.Object):
    participant: typing.Optional[RemoteSystemSessionParticipant]
    @staticmethod
    def _from(obj: winsdk.system.Object) -> RemoteSystemSessionJoinRequest: ...
    def accept(self) -> None: ...

class RemoteSystemSessionJoinRequestedEventArgs(winsdk.system.Object):
    join_request: typing.Optional[RemoteSystemSessionJoinRequest]
    @staticmethod
    def _from(obj: winsdk.system.Object) -> RemoteSystemSessionJoinRequestedEventArgs: ...
    def get_deferral(self) -> typing.Optional[winsdk.windows.foundation.Deferral]: ...

class RemoteSystemSessionJoinResult(winsdk.system.Object):
    session: typing.Optional[RemoteSystemSession]
    status: RemoteSystemSessionJoinStatus
    @staticmethod
    def _from(obj: winsdk.system.Object) -> RemoteSystemSessionJoinResult: ...

class RemoteSystemSessionMessageChannel(winsdk.system.Object):
    session: typing.Optional[RemoteSystemSession]
    @staticmethod
    def _from(obj: winsdk.system.Object) -> RemoteSystemSessionMessageChannel: ...
    @typing.overload
    def __new__(cls: typing.Type[RemoteSystemSessionMessageChannel], session: typing.Optional[RemoteSystemSession], channel_name: str) -> RemoteSystemSessionMessageChannel:...
    @typing.overload
    def __new__(cls: typing.Type[RemoteSystemSessionMessageChannel], session: typing.Optional[RemoteSystemSession], channel_name: str, reliability: RemoteSystemSessionMessageChannelReliability) -> RemoteSystemSessionMessageChannel:...
    def broadcast_value_set_async(self, message_data: typing.Optional[winsdk.windows.foundation.collections.ValueSet]) -> winsdk.windows.foundation.IAsyncOperation[winsdk.system.Boolean]: ...
    def send_value_set_async(self, message_data: typing.Optional[winsdk.windows.foundation.collections.ValueSet], participant: typing.Optional[RemoteSystemSessionParticipant]) -> winsdk.windows.foundation.IAsyncOperation[winsdk.system.Boolean]: ...
    def send_value_set_to_participants_async(self, message_data: typing.Optional[winsdk.windows.foundation.collections.ValueSet], participants: typing.Iterable[RemoteSystemSessionParticipant]) -> winsdk.windows.foundation.IAsyncOperation[winsdk.system.Boolean]: ...
    def add_value_set_received(self, handler: winsdk.windows.foundation.TypedEventHandler[RemoteSystemSessionMessageChannel, RemoteSystemSessionValueSetReceivedEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    def remove_value_set_received(self, token: winsdk.windows.foundation.EventRegistrationToken) -> None: ...

class RemoteSystemSessionOptions(winsdk.system.Object):
    is_invite_only: winsdk.system.Boolean
    @staticmethod
    def _from(obj: winsdk.system.Object) -> RemoteSystemSessionOptions: ...
    def __new__(cls: typing.Type[RemoteSystemSessionOptions]) -> RemoteSystemSessionOptions:...

class RemoteSystemSessionParticipant(winsdk.system.Object):
    remote_system: typing.Optional[RemoteSystem]
    @staticmethod
    def _from(obj: winsdk.system.Object) -> RemoteSystemSessionParticipant: ...
    def get_host_names(self) -> typing.Optional[winsdk.windows.foundation.collections.IVectorView[winsdk.windows.networking.HostName]]: ...

class RemoteSystemSessionParticipantAddedEventArgs(winsdk.system.Object):
    participant: typing.Optional[RemoteSystemSessionParticipant]
    @staticmethod
    def _from(obj: winsdk.system.Object) -> RemoteSystemSessionParticipantAddedEventArgs: ...

class RemoteSystemSessionParticipantRemovedEventArgs(winsdk.system.Object):
    participant: typing.Optional[RemoteSystemSessionParticipant]
    @staticmethod
    def _from(obj: winsdk.system.Object) -> RemoteSystemSessionParticipantRemovedEventArgs: ...

class RemoteSystemSessionParticipantWatcher(winsdk.system.Object):
    status: RemoteSystemSessionParticipantWatcherStatus
    @staticmethod
    def _from(obj: winsdk.system.Object) -> RemoteSystemSessionParticipantWatcher: ...
    def start(self) -> None: ...
    def stop(self) -> None: ...
    def add_added(self, handler: winsdk.windows.foundation.TypedEventHandler[RemoteSystemSessionParticipantWatcher, RemoteSystemSessionParticipantAddedEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    def remove_added(self, token: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    def add_enumeration_completed(self, handler: winsdk.windows.foundation.TypedEventHandler[RemoteSystemSessionParticipantWatcher, winsdk.system.Object]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    def remove_enumeration_completed(self, token: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    def add_removed(self, handler: winsdk.windows.foundation.TypedEventHandler[RemoteSystemSessionParticipantWatcher, RemoteSystemSessionParticipantRemovedEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    def remove_removed(self, token: winsdk.windows.foundation.EventRegistrationToken) -> None: ...

class RemoteSystemSessionRemovedEventArgs(winsdk.system.Object):
    session_info: typing.Optional[RemoteSystemSessionInfo]
    @staticmethod
    def _from(obj: winsdk.system.Object) -> RemoteSystemSessionRemovedEventArgs: ...

class RemoteSystemSessionUpdatedEventArgs(winsdk.system.Object):
    session_info: typing.Optional[RemoteSystemSessionInfo]
    @staticmethod
    def _from(obj: winsdk.system.Object) -> RemoteSystemSessionUpdatedEventArgs: ...

class RemoteSystemSessionValueSetReceivedEventArgs(winsdk.system.Object):
    message: typing.Optional[winsdk.windows.foundation.collections.ValueSet]
    sender: typing.Optional[RemoteSystemSessionParticipant]
    @staticmethod
    def _from(obj: winsdk.system.Object) -> RemoteSystemSessionValueSetReceivedEventArgs: ...

class RemoteSystemSessionWatcher(winsdk.system.Object):
    status: RemoteSystemSessionWatcherStatus
    @staticmethod
    def _from(obj: winsdk.system.Object) -> RemoteSystemSessionWatcher: ...
    def start(self) -> None: ...
    def stop(self) -> None: ...
    def add_added(self, handler: winsdk.windows.foundation.TypedEventHandler[RemoteSystemSessionWatcher, RemoteSystemSessionAddedEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    def remove_added(self, token: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    def add_removed(self, handler: winsdk.windows.foundation.TypedEventHandler[RemoteSystemSessionWatcher, RemoteSystemSessionRemovedEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    def remove_removed(self, token: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    def add_updated(self, handler: winsdk.windows.foundation.TypedEventHandler[RemoteSystemSessionWatcher, RemoteSystemSessionUpdatedEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    def remove_updated(self, token: winsdk.windows.foundation.EventRegistrationToken) -> None: ...

class RemoteSystemStatusTypeFilter(winsdk.system.Object):
    remote_system_status_type: RemoteSystemStatusType
    @staticmethod
    def _from(obj: winsdk.system.Object) -> RemoteSystemStatusTypeFilter: ...
    def __new__(cls: typing.Type[RemoteSystemStatusTypeFilter], remote_system_status_type: RemoteSystemStatusType) -> RemoteSystemStatusTypeFilter:...

class RemoteSystemUpdatedEventArgs(winsdk.system.Object):
    remote_system: typing.Optional[RemoteSystem]
    @staticmethod
    def _from(obj: winsdk.system.Object) -> RemoteSystemUpdatedEventArgs: ...

class RemoteSystemWatcher(winsdk.system.Object):
    user: typing.Optional[winsdk.windows.system.User]
    @staticmethod
    def _from(obj: winsdk.system.Object) -> RemoteSystemWatcher: ...
    def start(self) -> None: ...
    def stop(self) -> None: ...
    def add_remote_system_added(self, handler: winsdk.windows.foundation.TypedEventHandler[RemoteSystemWatcher, RemoteSystemAddedEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    def remove_remote_system_added(self, token: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    def add_remote_system_removed(self, handler: winsdk.windows.foundation.TypedEventHandler[RemoteSystemWatcher, RemoteSystemRemovedEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    def remove_remote_system_removed(self, token: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    def add_remote_system_updated(self, handler: winsdk.windows.foundation.TypedEventHandler[RemoteSystemWatcher, RemoteSystemUpdatedEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    def remove_remote_system_updated(self, token: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    def add_enumeration_completed(self, handler: winsdk.windows.foundation.TypedEventHandler[RemoteSystemWatcher, RemoteSystemEnumerationCompletedEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    def remove_enumeration_completed(self, token: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    def add_error_occurred(self, handler: winsdk.windows.foundation.TypedEventHandler[RemoteSystemWatcher, RemoteSystemWatcherErrorOccurredEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    def remove_error_occurred(self, token: winsdk.windows.foundation.EventRegistrationToken) -> None: ...

class RemoteSystemWatcherErrorOccurredEventArgs(winsdk.system.Object):
    error: RemoteSystemWatcherError
    @staticmethod
    def _from(obj: winsdk.system.Object) -> RemoteSystemWatcherErrorOccurredEventArgs: ...

class RemoteSystemWebAccountFilter(winsdk.system.Object):
    account: typing.Optional[winsdk.windows.security.credentials.WebAccount]
    @staticmethod
    def _from(obj: winsdk.system.Object) -> RemoteSystemWebAccountFilter: ...
    def __new__(cls: typing.Type[RemoteSystemWebAccountFilter], account: typing.Optional[winsdk.windows.security.credentials.WebAccount]) -> RemoteSystemWebAccountFilter:...

class IRemoteSystemFilter(winsdk.system.Object):
    @staticmethod
    def _from(obj: winsdk.system.Object) -> IRemoteSystemFilter: ...

