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

import enum
import typing
import uuid as _uuid

import winrt.system
from winrt import _winrt_windows_foundation

__all__ = [
    "AsyncStatus",
    "PropertyType",
    "EventRegistrationToken",
    "HResult",
    "Point",
    "Rect",
    "Size",
    "Deferral",
    "GuidHelper",
    "MemoryBuffer",
    "PropertyValue",
    "Uri",
    "WwwFormUrlDecoder",
    "WwwFormUrlDecoderEntry",
    "IAsyncAction",
    "IAsyncActionWithProgress",
    "IAsyncInfo",
    "IAsyncOperationWithProgress",
    "IAsyncOperation",
    "IClosable",
    "IGetActivationFactory",
    "IMemoryBuffer",
    "IMemoryBufferReference",
    "IPropertyValue",
    "IReferenceArray",
    "IReference",
    "IStringable",
    "IWwwFormUrlDecoderEntry",
    "AsyncActionCompletedHandler",
    "AsyncActionProgressHandler",
    "AsyncActionWithProgressCompletedHandler",
    "AsyncOperationCompletedHandler",
    "AsyncOperationProgressHandler",
    "AsyncOperationWithProgressCompletedHandler",
    "DeferralCompletedHandler",
    "EventHandler",
    "TypedEventHandler",
]
T = typing.TypeVar('T')
TProgress = typing.TypeVar('TProgress')
TResult = typing.TypeVar('TResult')
TSender = typing.TypeVar('TSender')

class AsyncStatus(enum.IntEnum):
    CANCELED = 2
    COMPLETED = 1
    ERROR = 3
    STARTED = 0

class PropertyType(enum.IntEnum):
    EMPTY = 0
    UINT8 = 1
    INT16 = 2
    UINT16 = 3
    INT32 = 4
    UINT32 = 5
    INT64 = 6
    UINT64 = 7
    SINGLE = 8
    DOUBLE = 9
    CHAR16 = 10
    BOOLEAN = 11
    STRING = 12
    INSPECTABLE = 13
    DATE_TIME = 14
    TIME_SPAN = 15
    GUID = 16
    POINT = 17
    SIZE = 18
    RECT = 19
    OTHER_TYPE = 20
    UINT8_ARRAY = 1025
    INT16_ARRAY = 1026
    UINT16_ARRAY = 1027
    INT32_ARRAY = 1028
    UINT32_ARRAY = 1029
    INT64_ARRAY = 1030
    UINT64_ARRAY = 1031
    SINGLE_ARRAY = 1032
    DOUBLE_ARRAY = 1033
    CHAR16_ARRAY = 1034
    BOOLEAN_ARRAY = 1035
    STRING_ARRAY = 1036
    INSPECTABLE_ARRAY = 1037
    DATE_TIME_ARRAY = 1038
    TIME_SPAN_ARRAY = 1039
    GUID_ARRAY = 1040
    POINT_ARRAY = 1041
    SIZE_ARRAY = 1042
    RECT_ARRAY = 1043
    OTHER_TYPE_ARRAY = 1044

EventRegistrationToken = _winrt_windows_foundation.EventRegistrationToken
HResult = _winrt_windows_foundation.HResult
Point = _winrt_windows_foundation.Point
Rect = _winrt_windows_foundation.Rect
Size = _winrt_windows_foundation.Size
Deferral = _winrt_windows_foundation.Deferral
GuidHelper = _winrt_windows_foundation.GuidHelper
MemoryBuffer = _winrt_windows_foundation.MemoryBuffer
PropertyValue = _winrt_windows_foundation.PropertyValue
Uri = _winrt_windows_foundation.Uri
WwwFormUrlDecoder = _winrt_windows_foundation.WwwFormUrlDecoder
winrt.system._mixin_sequence(WwwFormUrlDecoder)
WwwFormUrlDecoderEntry = _winrt_windows_foundation.WwwFormUrlDecoderEntry
IAsyncAction = _winrt_windows_foundation.IAsyncAction
IAsyncActionWithProgress = _winrt_windows_foundation.IAsyncActionWithProgress
IAsyncInfo = _winrt_windows_foundation.IAsyncInfo
IAsyncOperationWithProgress = _winrt_windows_foundation.IAsyncOperationWithProgress
IAsyncOperation = _winrt_windows_foundation.IAsyncOperation
IClosable = _winrt_windows_foundation.IClosable
IGetActivationFactory = _winrt_windows_foundation.IGetActivationFactory
IMemoryBuffer = _winrt_windows_foundation.IMemoryBuffer
IMemoryBufferReference = _winrt_windows_foundation.IMemoryBufferReference
IPropertyValue = _winrt_windows_foundation.IPropertyValue
IReferenceArray = _winrt_windows_foundation.IReferenceArray
IReference = _winrt_windows_foundation.IReference
IStringable = _winrt_windows_foundation.IStringable
IWwwFormUrlDecoderEntry = _winrt_windows_foundation.IWwwFormUrlDecoderEntry
AsyncActionCompletedHandler = typing.Callable[[IAsyncAction, AsyncStatus], None]
AsyncActionProgressHandler = typing.Callable[[IAsyncActionWithProgress[TProgress], typing.Optional[TProgress]], None]
AsyncActionWithProgressCompletedHandler = typing.Callable[[IAsyncActionWithProgress[TProgress], AsyncStatus], None]
AsyncOperationCompletedHandler = typing.Callable[[IAsyncOperation[TResult], AsyncStatus], None]
AsyncOperationProgressHandler = typing.Callable[[IAsyncOperationWithProgress[TResult, TProgress], typing.Optional[TProgress]], None]
AsyncOperationWithProgressCompletedHandler = typing.Callable[[IAsyncOperationWithProgress[TResult, TProgress], AsyncStatus], None]
DeferralCompletedHandler = typing.Callable[[], None]
EventHandler = typing.Callable[[typing.Optional[winrt.system.Object], typing.Optional[T]], None]
TypedEventHandler = typing.Callable[[typing.Optional[TSender], typing.Optional[TResult]], None]
