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

import datetime
import sys
import types
import typing
import uuid as _uuid
from builtins import property as _property

import winrt._winrt
import winrt.system
import winrt.windows.foundation as windows_foundation
import winrt.windows.foundation.collections as windows_foundation_collections
import winrt.windows.networking as windows_networking
import winrt.windows.storage.streams as windows_storage_streams

from winrt.windows.networking.xboxlive import XboxLiveEndpointPairCreationBehaviors, XboxLiveEndpointPairCreationStatus, XboxLiveEndpointPairState, XboxLiveNetworkAccessKind, XboxLiveQualityOfServiceMeasurementStatus, XboxLiveQualityOfServiceMetric, XboxLiveSocketKind

Self = typing.TypeVar('Self')

@typing.final
class XboxLiveDeviceAddress_Static(winrt._winrt.IInspectable_Static):
    # Windows.Networking.XboxLive.XboxLiveDeviceAddress Windows.Networking.XboxLive.XboxLiveDeviceAddress::CreateFromSnapshotBase64(System.String)
    def create_from_snapshot_base64(cls, base64: str, /) -> XboxLiveDeviceAddress: ...
    # Windows.Networking.XboxLive.XboxLiveDeviceAddress Windows.Networking.XboxLive.XboxLiveDeviceAddress::CreateFromSnapshotBuffer(Windows.Storage.Streams.IBuffer)
    def create_from_snapshot_buffer(cls, buffer: winrt.system.Buffer, /) -> XboxLiveDeviceAddress: ...
    # Windows.Networking.XboxLive.XboxLiveDeviceAddress Windows.Networking.XboxLive.XboxLiveDeviceAddress::CreateFromSnapshotBytes(System.Byte[])
    def create_from_snapshot_bytes(cls, buffer: typing.Union[winrt.system.Array[winrt.system.UInt8], winrt.system.ReadableBuffer], /) -> XboxLiveDeviceAddress: ...
    # Windows.Networking.XboxLive.XboxLiveDeviceAddress Windows.Networking.XboxLive.XboxLiveDeviceAddress::GetLocal()
    def get_local(cls) -> XboxLiveDeviceAddress: ...
    # System.UInt32 Windows.Networking.XboxLive.XboxLiveDeviceAddress::get_MaxSnapshotBytesSize()
    @_property
    def max_snapshot_bytes_size(cls) -> winrt.system.UInt32: ...

@typing.final
class XboxLiveDeviceAddress(winrt.system.Object, metaclass=XboxLiveDeviceAddress_Static):
    # System.Int32 Windows.Networking.XboxLive.XboxLiveDeviceAddress::Compare(Windows.Networking.XboxLive.XboxLiveDeviceAddress)
    def compare(self, other_device_address: XboxLiveDeviceAddress, /) -> winrt.system.Int32: ...
    # System.String Windows.Networking.XboxLive.XboxLiveDeviceAddress::GetSnapshotAsBase64()
    def get_snapshot_as_base64(self) -> str: ...
    # Windows.Storage.Streams.IBuffer Windows.Networking.XboxLive.XboxLiveDeviceAddress::GetSnapshotAsBuffer()
    def get_snapshot_as_buffer(self) -> winrt.system.Buffer: ...
    # System.Void Windows.Networking.XboxLive.XboxLiveDeviceAddress::GetSnapshotAsBytes(System.Byte[],System.UInt32&)
    def get_snapshot_as_bytes(self, buffer: typing.Union[winrt.system.Array[winrt.system.UInt8], winrt.system.WriteableBuffer], /) -> winrt.system.UInt32: ...
    # Windows.Foundation.EventRegistrationToken Windows.Networking.XboxLive.XboxLiveDeviceAddress::add_SnapshotChanged(Windows.Foundation.TypedEventHandler`2<Windows.Networking.XboxLive.XboxLiveDeviceAddress,System.Object>)
    def add_snapshot_changed(self, handler: windows_foundation.TypedEventHandler[XboxLiveDeviceAddress, winrt.system.Object], /) -> windows_foundation.EventRegistrationToken: ...
    # System.Void Windows.Networking.XboxLive.XboxLiveDeviceAddress::remove_SnapshotChanged(Windows.Foundation.EventRegistrationToken)
    def remove_snapshot_changed(self, token: typing.Union[windows_foundation.EventRegistrationToken, typing.Tuple[winrt.system.Int64]], /) -> None: ...
    # System.Boolean Windows.Networking.XboxLive.XboxLiveDeviceAddress::get_IsLocal()
    @_property
    def is_local(self) -> bool: ...
    # System.Boolean Windows.Networking.XboxLive.XboxLiveDeviceAddress::get_IsValid()
    @_property
    def is_valid(self) -> bool: ...
    # Windows.Networking.XboxLive.XboxLiveNetworkAccessKind Windows.Networking.XboxLive.XboxLiveDeviceAddress::get_NetworkAccessKind()
    @_property
    def network_access_kind(self) -> XboxLiveNetworkAccessKind: ...

@typing.final
class XboxLiveEndpointPair_Static(winrt._winrt.IInspectable_Static):
    # Windows.Networking.XboxLive.XboxLiveEndpointPair Windows.Networking.XboxLive.XboxLiveEndpointPair::FindEndpointPairByHostNamesAndPorts(Windows.Networking.HostName,System.String,Windows.Networking.HostName,System.String)
    def find_endpoint_pair_by_host_names_and_ports(cls, local_host_name: windows_networking.HostName, local_port: str, remote_host_name: windows_networking.HostName, remote_port: str, /) -> XboxLiveEndpointPair: ...
    # Windows.Networking.XboxLive.XboxLiveEndpointPair Windows.Networking.XboxLive.XboxLiveEndpointPair::FindEndpointPairBySocketAddressBytes(System.Byte[],System.Byte[])
    def find_endpoint_pair_by_socket_address_bytes(cls, local_socket_address: typing.Union[winrt.system.Array[winrt.system.UInt8], winrt.system.ReadableBuffer], remote_socket_address: typing.Union[winrt.system.Array[winrt.system.UInt8], winrt.system.ReadableBuffer], /) -> XboxLiveEndpointPair: ...

@typing.final
class XboxLiveEndpointPair(winrt.system.Object, metaclass=XboxLiveEndpointPair_Static):
    # Windows.Foundation.IAsyncAction Windows.Networking.XboxLive.XboxLiveEndpointPair::DeleteAsync()
    def delete_async(self) -> windows_foundation.IAsyncAction: ...
    # System.Void Windows.Networking.XboxLive.XboxLiveEndpointPair::GetLocalSocketAddressBytes(System.Byte[])
    def get_local_socket_address_bytes(self, socket_address: typing.Union[winrt.system.Array[winrt.system.UInt8], winrt.system.WriteableBuffer], /) -> None: ...
    # System.Void Windows.Networking.XboxLive.XboxLiveEndpointPair::GetRemoteSocketAddressBytes(System.Byte[])
    def get_remote_socket_address_bytes(self, socket_address: typing.Union[winrt.system.Array[winrt.system.UInt8], winrt.system.WriteableBuffer], /) -> None: ...
    # Windows.Foundation.EventRegistrationToken Windows.Networking.XboxLive.XboxLiveEndpointPair::add_StateChanged(Windows.Foundation.TypedEventHandler`2<Windows.Networking.XboxLive.XboxLiveEndpointPair,Windows.Networking.XboxLive.XboxLiveEndpointPairStateChangedEventArgs>)
    def add_state_changed(self, handler: windows_foundation.TypedEventHandler[XboxLiveEndpointPair, XboxLiveEndpointPairStateChangedEventArgs], /) -> windows_foundation.EventRegistrationToken: ...
    # System.Void Windows.Networking.XboxLive.XboxLiveEndpointPair::remove_StateChanged(Windows.Foundation.EventRegistrationToken)
    def remove_state_changed(self, token: typing.Union[windows_foundation.EventRegistrationToken, typing.Tuple[winrt.system.Int64]], /) -> None: ...
    # Windows.Networking.HostName Windows.Networking.XboxLive.XboxLiveEndpointPair::get_LocalHostName()
    @_property
    def local_host_name(self) -> windows_networking.HostName: ...
    # System.String Windows.Networking.XboxLive.XboxLiveEndpointPair::get_LocalPort()
    @_property
    def local_port(self) -> str: ...
    # Windows.Networking.XboxLive.XboxLiveDeviceAddress Windows.Networking.XboxLive.XboxLiveEndpointPair::get_RemoteDeviceAddress()
    @_property
    def remote_device_address(self) -> XboxLiveDeviceAddress: ...
    # Windows.Networking.HostName Windows.Networking.XboxLive.XboxLiveEndpointPair::get_RemoteHostName()
    @_property
    def remote_host_name(self) -> windows_networking.HostName: ...
    # System.String Windows.Networking.XboxLive.XboxLiveEndpointPair::get_RemotePort()
    @_property
    def remote_port(self) -> str: ...
    # Windows.Networking.XboxLive.XboxLiveEndpointPairState Windows.Networking.XboxLive.XboxLiveEndpointPair::get_State()
    @_property
    def state(self) -> XboxLiveEndpointPairState: ...
    # Windows.Networking.XboxLive.XboxLiveEndpointPairTemplate Windows.Networking.XboxLive.XboxLiveEndpointPair::get_Template()
    @_property
    def template(self) -> XboxLiveEndpointPairTemplate: ...

@typing.final
class XboxLiveEndpointPairCreationResult(winrt.system.Object):
    # Windows.Networking.XboxLive.XboxLiveDeviceAddress Windows.Networking.XboxLive.XboxLiveEndpointPairCreationResult::get_DeviceAddress()
    @_property
    def device_address(self) -> XboxLiveDeviceAddress: ...
    # Windows.Networking.XboxLive.XboxLiveEndpointPair Windows.Networking.XboxLive.XboxLiveEndpointPairCreationResult::get_EndpointPair()
    @_property
    def endpoint_pair(self) -> XboxLiveEndpointPair: ...
    # System.Boolean Windows.Networking.XboxLive.XboxLiveEndpointPairCreationResult::get_IsExistingPathEvaluation()
    @_property
    def is_existing_path_evaluation(self) -> bool: ...
    # Windows.Networking.XboxLive.XboxLiveEndpointPairCreationStatus Windows.Networking.XboxLive.XboxLiveEndpointPairCreationResult::get_Status()
    @_property
    def status(self) -> XboxLiveEndpointPairCreationStatus: ...

@typing.final
class XboxLiveEndpointPairStateChangedEventArgs(winrt.system.Object):
    # Windows.Networking.XboxLive.XboxLiveEndpointPairState Windows.Networking.XboxLive.XboxLiveEndpointPairStateChangedEventArgs::get_NewState()
    @_property
    def new_state(self) -> XboxLiveEndpointPairState: ...
    # Windows.Networking.XboxLive.XboxLiveEndpointPairState Windows.Networking.XboxLive.XboxLiveEndpointPairStateChangedEventArgs::get_OldState()
    @_property
    def old_state(self) -> XboxLiveEndpointPairState: ...

@typing.final
class XboxLiveEndpointPairTemplate_Static(winrt._winrt.IInspectable_Static):
    # Windows.Networking.XboxLive.XboxLiveEndpointPairTemplate Windows.Networking.XboxLive.XboxLiveEndpointPairTemplate::GetTemplateByName(System.String)
    def get_template_by_name(cls, name: str, /) -> XboxLiveEndpointPairTemplate: ...
    # Windows.Foundation.Collections.IVectorView`1<Windows.Networking.XboxLive.XboxLiveEndpointPairTemplate> Windows.Networking.XboxLive.XboxLiveEndpointPairTemplate::get_Templates()
    @_property
    def templates(cls) -> typing.Sequence[XboxLiveEndpointPairTemplate]: ...

@typing.final
class XboxLiveEndpointPairTemplate(winrt.system.Object, metaclass=XboxLiveEndpointPairTemplate_Static):
    # Windows.Foundation.IAsyncOperation`1<Windows.Networking.XboxLive.XboxLiveEndpointPairCreationResult> Windows.Networking.XboxLive.XboxLiveEndpointPairTemplate::CreateEndpointPairAsync(Windows.Networking.XboxLive.XboxLiveDeviceAddress)
    def create_endpoint_pair_default_async(self, device_address: XboxLiveDeviceAddress, /) -> windows_foundation.IAsyncOperation[XboxLiveEndpointPairCreationResult]: ...
    # Windows.Foundation.IAsyncOperation`1<Windows.Networking.XboxLive.XboxLiveEndpointPairCreationResult> Windows.Networking.XboxLive.XboxLiveEndpointPairTemplate::CreateEndpointPairForPortsAsync(Windows.Networking.XboxLive.XboxLiveDeviceAddress,System.String,System.String)
    def create_endpoint_pair_for_ports_default_async(self, device_address: XboxLiveDeviceAddress, initiator_port: str, acceptor_port: str, /) -> windows_foundation.IAsyncOperation[XboxLiveEndpointPairCreationResult]: ...
    # Windows.Foundation.IAsyncOperation`1<Windows.Networking.XboxLive.XboxLiveEndpointPairCreationResult> Windows.Networking.XboxLive.XboxLiveEndpointPairTemplate::CreateEndpointPairForPortsAsync(Windows.Networking.XboxLive.XboxLiveDeviceAddress,System.String,System.String,Windows.Networking.XboxLive.XboxLiveEndpointPairCreationBehaviors)
    def create_endpoint_pair_for_ports_with_behaviors_async(self, device_address: XboxLiveDeviceAddress, initiator_port: str, acceptor_port: str, behaviors: XboxLiveEndpointPairCreationBehaviors, /) -> windows_foundation.IAsyncOperation[XboxLiveEndpointPairCreationResult]: ...
    # Windows.Foundation.IAsyncOperation`1<Windows.Networking.XboxLive.XboxLiveEndpointPairCreationResult> Windows.Networking.XboxLive.XboxLiveEndpointPairTemplate::CreateEndpointPairAsync(Windows.Networking.XboxLive.XboxLiveDeviceAddress,Windows.Networking.XboxLive.XboxLiveEndpointPairCreationBehaviors)
    def create_endpoint_pair_with_behaviors_async(self, device_address: XboxLiveDeviceAddress, behaviors: XboxLiveEndpointPairCreationBehaviors, /) -> windows_foundation.IAsyncOperation[XboxLiveEndpointPairCreationResult]: ...
    # Windows.Foundation.EventRegistrationToken Windows.Networking.XboxLive.XboxLiveEndpointPairTemplate::add_InboundEndpointPairCreated(Windows.Foundation.TypedEventHandler`2<Windows.Networking.XboxLive.XboxLiveEndpointPairTemplate,Windows.Networking.XboxLive.XboxLiveInboundEndpointPairCreatedEventArgs>)
    def add_inbound_endpoint_pair_created(self, handler: windows_foundation.TypedEventHandler[XboxLiveEndpointPairTemplate, XboxLiveInboundEndpointPairCreatedEventArgs], /) -> windows_foundation.EventRegistrationToken: ...
    # System.Void Windows.Networking.XboxLive.XboxLiveEndpointPairTemplate::remove_InboundEndpointPairCreated(Windows.Foundation.EventRegistrationToken)
    def remove_inbound_endpoint_pair_created(self, token: typing.Union[windows_foundation.EventRegistrationToken, typing.Tuple[winrt.system.Int64]], /) -> None: ...
    # System.UInt16 Windows.Networking.XboxLive.XboxLiveEndpointPairTemplate::get_AcceptorBoundPortRangeLower()
    @_property
    def acceptor_bound_port_range_lower(self) -> winrt.system.UInt16: ...
    # System.UInt16 Windows.Networking.XboxLive.XboxLiveEndpointPairTemplate::get_AcceptorBoundPortRangeUpper()
    @_property
    def acceptor_bound_port_range_upper(self) -> winrt.system.UInt16: ...
    # Windows.Foundation.Collections.IVectorView`1<Windows.Networking.XboxLive.XboxLiveEndpointPair> Windows.Networking.XboxLive.XboxLiveEndpointPairTemplate::get_EndpointPairs()
    @_property
    def endpoint_pairs(self) -> typing.Sequence[XboxLiveEndpointPair]: ...
    # System.UInt16 Windows.Networking.XboxLive.XboxLiveEndpointPairTemplate::get_InitiatorBoundPortRangeLower()
    @_property
    def initiator_bound_port_range_lower(self) -> winrt.system.UInt16: ...
    # System.UInt16 Windows.Networking.XboxLive.XboxLiveEndpointPairTemplate::get_InitiatorBoundPortRangeUpper()
    @_property
    def initiator_bound_port_range_upper(self) -> winrt.system.UInt16: ...
    # System.String Windows.Networking.XboxLive.XboxLiveEndpointPairTemplate::get_Name()
    @_property
    def name(self) -> str: ...
    # Windows.Networking.XboxLive.XboxLiveSocketKind Windows.Networking.XboxLive.XboxLiveEndpointPairTemplate::get_SocketKind()
    @_property
    def socket_kind(self) -> XboxLiveSocketKind: ...

@typing.final
class XboxLiveInboundEndpointPairCreatedEventArgs(winrt.system.Object):
    # Windows.Networking.XboxLive.XboxLiveEndpointPair Windows.Networking.XboxLive.XboxLiveInboundEndpointPairCreatedEventArgs::get_EndpointPair()
    @_property
    def endpoint_pair(self) -> XboxLiveEndpointPair: ...

@typing.final
class XboxLiveQualityOfServiceMeasurement_Static(winrt._winrt.IInspectable_Static):
    # System.Void Windows.Networking.XboxLive.XboxLiveQualityOfServiceMeasurement::ClearPrivatePayload()
    def clear_private_payload(cls) -> None: ...
    # System.Void Windows.Networking.XboxLive.XboxLiveQualityOfServiceMeasurement::PublishPrivatePayloadBytes(System.Byte[])
    def publish_private_payload_bytes(cls, payload: typing.Union[winrt.system.Array[winrt.system.UInt8], winrt.system.ReadableBuffer], /) -> None: ...
    # Windows.Storage.Streams.IBuffer Windows.Networking.XboxLive.XboxLiveQualityOfServiceMeasurement::get_PublishedPrivatePayload()
    @_property
    def published_private_payload(cls) -> winrt.system.Buffer: ...
    # System.Void Windows.Networking.XboxLive.XboxLiveQualityOfServiceMeasurement::put_PublishedPrivatePayload(Windows.Storage.Streams.IBuffer)
    @published_private_payload.setter
    def published_private_payload(cls, value: winrt.system.Buffer) -> None: ...
    # System.UInt32 Windows.Networking.XboxLive.XboxLiveQualityOfServiceMeasurement::get_MaxSimultaneousProbeConnections()
    @_property
    def max_simultaneous_probe_connections(cls) -> winrt.system.UInt32: ...
    # System.Void Windows.Networking.XboxLive.XboxLiveQualityOfServiceMeasurement::put_MaxSimultaneousProbeConnections(System.UInt32)
    @max_simultaneous_probe_connections.setter
    def max_simultaneous_probe_connections(cls, value: winrt.system.UInt32) -> None: ...
    # System.Boolean Windows.Networking.XboxLive.XboxLiveQualityOfServiceMeasurement::get_IsSystemOutboundBandwidthConstrained()
    @_property
    def is_system_outbound_bandwidth_constrained(cls) -> bool: ...
    # System.Void Windows.Networking.XboxLive.XboxLiveQualityOfServiceMeasurement::put_IsSystemOutboundBandwidthConstrained(System.Boolean)
    @is_system_outbound_bandwidth_constrained.setter
    def is_system_outbound_bandwidth_constrained(cls, value: bool) -> None: ...
    # System.Boolean Windows.Networking.XboxLive.XboxLiveQualityOfServiceMeasurement::get_IsSystemInboundBandwidthConstrained()
    @_property
    def is_system_inbound_bandwidth_constrained(cls) -> bool: ...
    # System.Void Windows.Networking.XboxLive.XboxLiveQualityOfServiceMeasurement::put_IsSystemInboundBandwidthConstrained(System.Boolean)
    @is_system_inbound_bandwidth_constrained.setter
    def is_system_inbound_bandwidth_constrained(cls, value: bool) -> None: ...
    # System.UInt32 Windows.Networking.XboxLive.XboxLiveQualityOfServiceMeasurement::get_MaxPrivatePayloadSize()
    @_property
    def max_private_payload_size(cls) -> winrt.system.UInt32: ...

@typing.final
class XboxLiveQualityOfServiceMeasurement(winrt.system.Object, metaclass=XboxLiveQualityOfServiceMeasurement_Static):
    def __new__(cls: typing.Type[Self]) -> Self: ...
    # Windows.Networking.XboxLive.XboxLiveQualityOfServiceMetricResult Windows.Networking.XboxLive.XboxLiveQualityOfServiceMeasurement::GetMetricResult(Windows.Networking.XboxLive.XboxLiveDeviceAddress,Windows.Networking.XboxLive.XboxLiveQualityOfServiceMetric)
    def get_metric_result(self, device_address: XboxLiveDeviceAddress, metric: XboxLiveQualityOfServiceMetric, /) -> XboxLiveQualityOfServiceMetricResult: ...
    # Windows.Foundation.Collections.IVectorView`1<Windows.Networking.XboxLive.XboxLiveQualityOfServiceMetricResult> Windows.Networking.XboxLive.XboxLiveQualityOfServiceMeasurement::GetMetricResultsForDevice(Windows.Networking.XboxLive.XboxLiveDeviceAddress)
    def get_metric_results_for_device(self, device_address: XboxLiveDeviceAddress, /) -> typing.Sequence[XboxLiveQualityOfServiceMetricResult]: ...
    # Windows.Foundation.Collections.IVectorView`1<Windows.Networking.XboxLive.XboxLiveQualityOfServiceMetricResult> Windows.Networking.XboxLive.XboxLiveQualityOfServiceMeasurement::GetMetricResultsForMetric(Windows.Networking.XboxLive.XboxLiveQualityOfServiceMetric)
    def get_metric_results_for_metric(self, metric: XboxLiveQualityOfServiceMetric, /) -> typing.Sequence[XboxLiveQualityOfServiceMetricResult]: ...
    # Windows.Networking.XboxLive.XboxLiveQualityOfServicePrivatePayloadResult Windows.Networking.XboxLive.XboxLiveQualityOfServiceMeasurement::GetPrivatePayloadResult(Windows.Networking.XboxLive.XboxLiveDeviceAddress)
    def get_private_payload_result(self, device_address: XboxLiveDeviceAddress, /) -> XboxLiveQualityOfServicePrivatePayloadResult: ...
    # Windows.Foundation.IAsyncAction Windows.Networking.XboxLive.XboxLiveQualityOfServiceMeasurement::MeasureAsync()
    def measure_async(self) -> windows_foundation.IAsyncAction: ...
    # System.UInt32 Windows.Networking.XboxLive.XboxLiveQualityOfServiceMeasurement::get_TimeoutInMilliseconds()
    @_property
    def timeout_in_milliseconds(self) -> winrt.system.UInt32: ...
    # System.Void Windows.Networking.XboxLive.XboxLiveQualityOfServiceMeasurement::put_TimeoutInMilliseconds(System.UInt32)
    @timeout_in_milliseconds.setter
    def timeout_in_milliseconds(self, value: winrt.system.UInt32) -> None: ...
    # System.Boolean Windows.Networking.XboxLive.XboxLiveQualityOfServiceMeasurement::get_ShouldRequestPrivatePayloads()
    @_property
    def should_request_private_payloads(self) -> bool: ...
    # System.Void Windows.Networking.XboxLive.XboxLiveQualityOfServiceMeasurement::put_ShouldRequestPrivatePayloads(System.Boolean)
    @should_request_private_payloads.setter
    def should_request_private_payloads(self, value: bool) -> None: ...
    # System.UInt32 Windows.Networking.XboxLive.XboxLiveQualityOfServiceMeasurement::get_NumberOfProbesToAttempt()
    @_property
    def number_of_probes_to_attempt(self) -> winrt.system.UInt32: ...
    # System.Void Windows.Networking.XboxLive.XboxLiveQualityOfServiceMeasurement::put_NumberOfProbesToAttempt(System.UInt32)
    @number_of_probes_to_attempt.setter
    def number_of_probes_to_attempt(self, value: winrt.system.UInt32) -> None: ...
    # Windows.Foundation.Collections.IVector`1<Windows.Networking.XboxLive.XboxLiveDeviceAddress> Windows.Networking.XboxLive.XboxLiveQualityOfServiceMeasurement::get_DeviceAddresses()
    @_property
    def device_addresses(self) -> typing.MutableSequence[XboxLiveDeviceAddress]: ...
    # Windows.Foundation.Collections.IVectorView`1<Windows.Networking.XboxLive.XboxLiveQualityOfServiceMetricResult> Windows.Networking.XboxLive.XboxLiveQualityOfServiceMeasurement::get_MetricResults()
    @_property
    def metric_results(self) -> typing.Sequence[XboxLiveQualityOfServiceMetricResult]: ...
    # Windows.Foundation.Collections.IVector`1<Windows.Networking.XboxLive.XboxLiveQualityOfServiceMetric> Windows.Networking.XboxLive.XboxLiveQualityOfServiceMeasurement::get_Metrics()
    @_property
    def metrics(self) -> typing.MutableSequence[XboxLiveQualityOfServiceMetric]: ...
    # System.UInt32 Windows.Networking.XboxLive.XboxLiveQualityOfServiceMeasurement::get_NumberOfResultsPending()
    @_property
    def number_of_results_pending(self) -> winrt.system.UInt32: ...
    # Windows.Foundation.Collections.IVectorView`1<Windows.Networking.XboxLive.XboxLiveQualityOfServicePrivatePayloadResult> Windows.Networking.XboxLive.XboxLiveQualityOfServiceMeasurement::get_PrivatePayloadResults()
    @_property
    def private_payload_results(self) -> typing.Sequence[XboxLiveQualityOfServicePrivatePayloadResult]: ...

@typing.final
class XboxLiveQualityOfServiceMetricResult(winrt.system.Object):
    # Windows.Networking.XboxLive.XboxLiveDeviceAddress Windows.Networking.XboxLive.XboxLiveQualityOfServiceMetricResult::get_DeviceAddress()
    @_property
    def device_address(self) -> XboxLiveDeviceAddress: ...
    # Windows.Networking.XboxLive.XboxLiveQualityOfServiceMetric Windows.Networking.XboxLive.XboxLiveQualityOfServiceMetricResult::get_Metric()
    @_property
    def metric(self) -> XboxLiveQualityOfServiceMetric: ...
    # Windows.Networking.XboxLive.XboxLiveQualityOfServiceMeasurementStatus Windows.Networking.XboxLive.XboxLiveQualityOfServiceMetricResult::get_Status()
    @_property
    def status(self) -> XboxLiveQualityOfServiceMeasurementStatus: ...
    # System.UInt64 Windows.Networking.XboxLive.XboxLiveQualityOfServiceMetricResult::get_Value()
    @_property
    def value(self) -> winrt.system.UInt64: ...

@typing.final
class XboxLiveQualityOfServicePrivatePayloadResult(winrt.system.Object):
    # Windows.Networking.XboxLive.XboxLiveDeviceAddress Windows.Networking.XboxLive.XboxLiveQualityOfServicePrivatePayloadResult::get_DeviceAddress()
    @_property
    def device_address(self) -> XboxLiveDeviceAddress: ...
    # Windows.Networking.XboxLive.XboxLiveQualityOfServiceMeasurementStatus Windows.Networking.XboxLive.XboxLiveQualityOfServicePrivatePayloadResult::get_Status()
    @_property
    def status(self) -> XboxLiveQualityOfServiceMeasurementStatus: ...
    # Windows.Storage.Streams.IBuffer Windows.Networking.XboxLive.XboxLiveQualityOfServicePrivatePayloadResult::get_Value()
    @_property
    def value(self) -> winrt.system.Buffer: ...

