# WARNING: Please don't edit this file. It was generated by Python/WinRT v2.1.0

import enum
import typing
import uuid as _uuid

import winrt.system
from winrt import _winrt_windows_networking_proximity

__all__ = [
    "PeerDiscoveryTypes",
    "PeerRole",
    "PeerWatcherStatus",
    "TriggeredConnectState",
    "ConnectionRequestedEventArgs",
    "PeerFinder",
    "PeerInformation",
    "PeerWatcher",
    "ProximityDevice",
    "ProximityMessage",
    "TriggeredConnectionStateChangedEventArgs",
    "DeviceArrivedEventHandler",
    "DeviceDepartedEventHandler",
    "MessageReceivedHandler",
    "MessageTransmittedHandler",
]

class PeerDiscoveryTypes(enum.IntFlag):
    NONE = 0x0
    BROWSE = 0x1
    TRIGGERED = 0x2

class PeerRole(enum.IntEnum):
    PEER = 0
    HOST = 1
    CLIENT = 2

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

class TriggeredConnectState(enum.IntEnum):
    PEER_FOUND = 0
    LISTENING = 1
    CONNECTING = 2
    COMPLETED = 3
    CANCELED = 4
    FAILED = 5

ConnectionRequestedEventArgs = _winrt_windows_networking_proximity.ConnectionRequestedEventArgs
PeerFinder = _winrt_windows_networking_proximity.PeerFinder
PeerInformation = _winrt_windows_networking_proximity.PeerInformation
PeerWatcher = _winrt_windows_networking_proximity.PeerWatcher
ProximityDevice = _winrt_windows_networking_proximity.ProximityDevice
ProximityMessage = _winrt_windows_networking_proximity.ProximityMessage
TriggeredConnectionStateChangedEventArgs = _winrt_windows_networking_proximity.TriggeredConnectionStateChangedEventArgs
DeviceArrivedEventHandler = typing.Callable[[typing.Optional[ProximityDevice]], None]
DeviceDepartedEventHandler = typing.Callable[[typing.Optional[ProximityDevice]], None]
MessageReceivedHandler = typing.Callable[[typing.Optional[ProximityDevice], typing.Optional[ProximityMessage]], None]
MessageTransmittedHandler = typing.Callable[[typing.Optional[ProximityDevice], winrt.system.Int64], None]
