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

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.devices.bluetooth as windows_devices_bluetooth
import winrt.windows.devices.enumeration as windows_devices_enumeration
import winrt.windows.foundation as windows_foundation
import winrt.windows.foundation.collections as windows_foundation_collections
import winrt.windows.storage.streams as windows_storage_streams

from winrt.windows.devices.bluetooth.genericattributeprofile import GattCharacteristicProperties, GattClientCharacteristicConfigurationDescriptorValue, GattCommunicationStatus, GattOpenStatus, GattProtectionLevel, GattRequestState, GattServiceProviderAdvertisementStatus, GattSessionStatus, GattSharingMode, GattWriteOption

Self = typing.TypeVar('Self')

@typing.final
class GattCharacteristic_Static(winrt._winrt.IInspectable_Static):
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristic::ConvertShortIdToUuid(System.UInt16)
    # @deprecated("Use BluetoothUuidHelper instead of ConvertShortIdToUuid.  For more information, see MSDN.")
    def convert_short_id_to_uuid(cls, short_id: winrt.system.UInt16, /) -> _uuid.UUID: ...

@typing.final
class GattCharacteristic(winrt.system.Object, metaclass=GattCharacteristic_Static):
    # Windows.Foundation.Collections.IVectorView`1<Windows.Devices.Bluetooth.GenericAttributeProfile.GattDescriptor> Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristic::GetAllDescriptors()
    # @deprecated("Use GetDescriptorsAsync instead of GetAllDescriptors.  For more information, see MSDN.")
    def get_all_descriptors(self) -> typing.Sequence[GattDescriptor]: ...
    # Windows.Foundation.Collections.IVectorView`1<Windows.Devices.Bluetooth.GenericAttributeProfile.GattDescriptor> Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristic::GetDescriptors(System.Guid)
    # @deprecated("Use GetDescriptorsForUuidAsync instead of GetDescriptors.  For more information, see MSDN.")
    def get_descriptors(self, descriptor_uuid: _uuid.UUID, /) -> typing.Sequence[GattDescriptor]: ...
    # Windows.Foundation.IAsyncOperation`1<Windows.Devices.Bluetooth.GenericAttributeProfile.GattDescriptorsResult> Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristic::GetDescriptorsAsync()
    def get_descriptors_async(self) -> windows_foundation.IAsyncOperation[GattDescriptorsResult]: ...
    # Windows.Foundation.IAsyncOperation`1<Windows.Devices.Bluetooth.GenericAttributeProfile.GattDescriptorsResult> Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristic::GetDescriptorsForUuidAsync(System.Guid)
    def get_descriptors_for_uuid_async(self, descriptor_uuid: _uuid.UUID, /) -> windows_foundation.IAsyncOperation[GattDescriptorsResult]: ...
    # Windows.Foundation.IAsyncOperation`1<Windows.Devices.Bluetooth.GenericAttributeProfile.GattDescriptorsResult> Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristic::GetDescriptorsForUuidAsync(System.Guid,Windows.Devices.Bluetooth.BluetoothCacheMode)
    def get_descriptors_for_uuid_with_cache_mode_async(self, descriptor_uuid: _uuid.UUID, cache_mode: windows_devices_bluetooth.BluetoothCacheMode, /) -> windows_foundation.IAsyncOperation[GattDescriptorsResult]: ...
    # Windows.Foundation.IAsyncOperation`1<Windows.Devices.Bluetooth.GenericAttributeProfile.GattDescriptorsResult> Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristic::GetDescriptorsAsync(Windows.Devices.Bluetooth.BluetoothCacheMode)
    def get_descriptors_with_cache_mode_async(self, cache_mode: windows_devices_bluetooth.BluetoothCacheMode, /) -> windows_foundation.IAsyncOperation[GattDescriptorsResult]: ...
    # Windows.Foundation.IAsyncOperation`1<Windows.Devices.Bluetooth.GenericAttributeProfile.GattReadClientCharacteristicConfigurationDescriptorResult> Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristic::ReadClientCharacteristicConfigurationDescriptorAsync()
    def read_client_characteristic_configuration_descriptor_async(self) -> windows_foundation.IAsyncOperation[GattReadClientCharacteristicConfigurationDescriptorResult]: ...
    # Windows.Foundation.IAsyncOperation`1<Windows.Devices.Bluetooth.GenericAttributeProfile.GattReadResult> Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristic::ReadValueAsync()
    def read_value_async(self) -> windows_foundation.IAsyncOperation[GattReadResult]: ...
    # Windows.Foundation.IAsyncOperation`1<Windows.Devices.Bluetooth.GenericAttributeProfile.GattReadResult> Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristic::ReadValueAsync(Windows.Devices.Bluetooth.BluetoothCacheMode)
    def read_value_with_cache_mode_async(self, cache_mode: windows_devices_bluetooth.BluetoothCacheMode, /) -> windows_foundation.IAsyncOperation[GattReadResult]: ...
    # Windows.Foundation.IAsyncOperation`1<Windows.Devices.Bluetooth.GenericAttributeProfile.GattCommunicationStatus> Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristic::WriteClientCharacteristicConfigurationDescriptorAsync(Windows.Devices.Bluetooth.GenericAttributeProfile.GattClientCharacteristicConfigurationDescriptorValue)
    def write_client_characteristic_configuration_descriptor_async(self, client_characteristic_configuration_descriptor_value: GattClientCharacteristicConfigurationDescriptorValue, /) -> windows_foundation.IAsyncOperation[GattCommunicationStatus]: ...
    # Windows.Foundation.IAsyncOperation`1<Windows.Devices.Bluetooth.GenericAttributeProfile.GattWriteResult> Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristic::WriteClientCharacteristicConfigurationDescriptorWithResultAsync(Windows.Devices.Bluetooth.GenericAttributeProfile.GattClientCharacteristicConfigurationDescriptorValue)
    def write_client_characteristic_configuration_descriptor_with_result_async(self, client_characteristic_configuration_descriptor_value: GattClientCharacteristicConfigurationDescriptorValue, /) -> windows_foundation.IAsyncOperation[GattWriteResult]: ...
    # Windows.Foundation.IAsyncOperation`1<Windows.Devices.Bluetooth.GenericAttributeProfile.GattCommunicationStatus> Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristic::WriteValueAsync(Windows.Storage.Streams.IBuffer)
    def write_value_async(self, value: windows_storage_streams.IBuffer, /) -> windows_foundation.IAsyncOperation[GattCommunicationStatus]: ...
    # Windows.Foundation.IAsyncOperation`1<Windows.Devices.Bluetooth.GenericAttributeProfile.GattCommunicationStatus> Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristic::WriteValueAsync(Windows.Storage.Streams.IBuffer,Windows.Devices.Bluetooth.GenericAttributeProfile.GattWriteOption)
    def write_value_with_option_async(self, value: windows_storage_streams.IBuffer, write_option: GattWriteOption, /) -> windows_foundation.IAsyncOperation[GattCommunicationStatus]: ...
    # Windows.Foundation.IAsyncOperation`1<Windows.Devices.Bluetooth.GenericAttributeProfile.GattWriteResult> Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristic::WriteValueWithResultAsync(Windows.Storage.Streams.IBuffer,Windows.Devices.Bluetooth.GenericAttributeProfile.GattWriteOption)
    def write_value_with_result_and_option_async(self, value: windows_storage_streams.IBuffer, write_option: GattWriteOption, /) -> windows_foundation.IAsyncOperation[GattWriteResult]: ...
    # Windows.Foundation.IAsyncOperation`1<Windows.Devices.Bluetooth.GenericAttributeProfile.GattWriteResult> Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristic::WriteValueWithResultAsync(Windows.Storage.Streams.IBuffer)
    def write_value_with_result_async(self, value: windows_storage_streams.IBuffer, /) -> windows_foundation.IAsyncOperation[GattWriteResult]: ...
    # Windows.Foundation.EventRegistrationToken Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristic::add_ValueChanged(Windows.Foundation.TypedEventHandler`2<Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristic,Windows.Devices.Bluetooth.GenericAttributeProfile.GattValueChangedEventArgs>)
    def add_value_changed(self, value_changed_handler: windows_foundation.TypedEventHandler[GattCharacteristic, GattValueChangedEventArgs], /) -> windows_foundation.EventRegistrationToken: ...
    # System.Void Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristic::remove_ValueChanged(Windows.Foundation.EventRegistrationToken)
    def remove_value_changed(self, value_changed_event_cookie: typing.Union[windows_foundation.EventRegistrationToken, typing.Tuple[winrt.system.Int64]], /) -> None: ...
    # Windows.Devices.Bluetooth.GenericAttributeProfile.GattProtectionLevel Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristic::get_ProtectionLevel()
    @_property
    def protection_level(self) -> GattProtectionLevel: ...
    # System.Void Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristic::put_ProtectionLevel(Windows.Devices.Bluetooth.GenericAttributeProfile.GattProtectionLevel)
    @protection_level.setter
    def protection_level(self, value: GattProtectionLevel) -> None: ...
    # System.UInt16 Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristic::get_AttributeHandle()
    @_property
    def attribute_handle(self) -> winrt.system.UInt16: ...
    # Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicProperties Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristic::get_CharacteristicProperties()
    @_property
    def characteristic_properties(self) -> GattCharacteristicProperties: ...
    # Windows.Foundation.Collections.IVectorView`1<Windows.Devices.Bluetooth.GenericAttributeProfile.GattPresentationFormat> Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristic::get_PresentationFormats()
    @_property
    def presentation_formats(self) -> typing.Sequence[GattPresentationFormat]: ...
    # System.String Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristic::get_UserDescription()
    @_property
    def user_description(self) -> str: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristic::get_Uuid()
    @_property
    def uuid(self) -> _uuid.UUID: ...
    # Windows.Devices.Bluetooth.GenericAttributeProfile.GattDeviceService Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristic::get_Service()
    @_property
    def service(self) -> GattDeviceService: ...

@typing.final
class GattCharacteristicUuids_Static(winrt._winrt.IInspectable_Static):
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicUuids::get_HeartRateMeasurement()
    @_property
    def heart_rate_measurement(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicUuids::get_BatteryLevel()
    @_property
    def battery_level(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicUuids::get_BloodPressureFeature()
    @_property
    def blood_pressure_feature(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicUuids::get_BloodPressureMeasurement()
    @_property
    def blood_pressure_measurement(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicUuids::get_BodySensorLocation()
    @_property
    def body_sensor_location(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicUuids::get_CscFeature()
    @_property
    def csc_feature(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicUuids::get_CscMeasurement()
    @_property
    def csc_measurement(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicUuids::get_GlucoseFeature()
    @_property
    def glucose_feature(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicUuids::get_GlucoseMeasurement()
    @_property
    def glucose_measurement(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicUuids::get_GlucoseMeasurementContext()
    @_property
    def glucose_measurement_context(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicUuids::get_HeartRateControlPoint()
    @_property
    def heart_rate_control_point(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicUuids::get_IntermediateCuffPressure()
    @_property
    def intermediate_cuff_pressure(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicUuids::get_IntermediateTemperature()
    @_property
    def intermediate_temperature(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicUuids::get_MeasurementInterval()
    @_property
    def measurement_interval(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicUuids::get_RecordAccessControlPoint()
    @_property
    def record_access_control_point(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicUuids::get_RscFeature()
    @_property
    def rsc_feature(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicUuids::get_RscMeasurement()
    @_property
    def rsc_measurement(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicUuids::get_SCControlPoint()
    @_property
    def s_c_control_point(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicUuids::get_SensorLocation()
    @_property
    def sensor_location(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicUuids::get_TemperatureMeasurement()
    @_property
    def temperature_measurement(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicUuids::get_TemperatureType()
    @_property
    def temperature_type(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicUuids::get_GapPeripheralPreferredConnectionParameters()
    @_property
    def gap_peripheral_preferred_connection_parameters(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicUuids::get_GapPeripheralPrivacyFlag()
    @_property
    def gap_peripheral_privacy_flag(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicUuids::get_GapReconnectionAddress()
    @_property
    def gap_reconnection_address(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicUuids::get_GattServiceChanged()
    @_property
    def gatt_service_changed(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicUuids::get_HardwareRevisionString()
    @_property
    def hardware_revision_string(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicUuids::get_HidControlPoint()
    @_property
    def hid_control_point(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicUuids::get_HidInformation()
    @_property
    def hid_information(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicUuids::get_Ieee1107320601RegulatoryCertificationDataList()
    @_property
    def ieee1107320601_regulatory_certification_data_list(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicUuids::get_LnControlPoint()
    @_property
    def ln_control_point(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicUuids::get_LnFeature()
    @_property
    def ln_feature(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicUuids::get_LocalTimeInformation()
    @_property
    def local_time_information(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicUuids::get_LocationAndSpeed()
    @_property
    def location_and_speed(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicUuids::get_ManufacturerNameString()
    @_property
    def manufacturer_name_string(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicUuids::get_ModelNumberString()
    @_property
    def model_number_string(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicUuids::get_Navigation()
    @_property
    def navigation(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicUuids::get_NewAlert()
    @_property
    def new_alert(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicUuids::get_PnpId()
    @_property
    def pnp_id(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicUuids::get_PositionQuality()
    @_property
    def position_quality(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicUuids::get_ProtocolMode()
    @_property
    def protocol_mode(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicUuids::get_CyclingPowerFeature()
    @_property
    def cycling_power_feature(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicUuids::get_Report()
    @_property
    def report(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicUuids::get_ReportMap()
    @_property
    def report_map(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicUuids::get_RingerControlPoint()
    @_property
    def ringer_control_point(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicUuids::get_RingerSetting()
    @_property
    def ringer_setting(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicUuids::get_ScanIntervalWindow()
    @_property
    def scan_interval_window(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicUuids::get_ScanRefresh()
    @_property
    def scan_refresh(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicUuids::get_SerialNumberString()
    @_property
    def serial_number_string(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicUuids::get_SoftwareRevisionString()
    @_property
    def software_revision_string(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicUuids::get_SupportUnreadAlertCategory()
    @_property
    def support_unread_alert_category(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicUuids::get_SupportedNewAlertCategory()
    @_property
    def supported_new_alert_category(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicUuids::get_SystemId()
    @_property
    def system_id(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicUuids::get_TimeAccuracy()
    @_property
    def time_accuracy(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicUuids::get_TimeSource()
    @_property
    def time_source(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicUuids::get_TimeUpdateControlPoint()
    @_property
    def time_update_control_point(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicUuids::get_TimeUpdateState()
    @_property
    def time_update_state(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicUuids::get_TimeWithDst()
    @_property
    def time_with_dst(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicUuids::get_TimeZone()
    @_property
    def time_zone(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicUuids::get_TxPowerLevel()
    @_property
    def tx_power_level(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicUuids::get_UnreadAlertStatus()
    @_property
    def unread_alert_status(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicUuids::get_AlertCategoryId()
    @_property
    def alert_category_id(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicUuids::get_AlertCategoryIdBitMask()
    @_property
    def alert_category_id_bit_mask(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicUuids::get_AlertLevel()
    @_property
    def alert_level(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicUuids::get_AlertNotificationControlPoint()
    @_property
    def alert_notification_control_point(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicUuids::get_AlertStatus()
    @_property
    def alert_status(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicUuids::get_BootKeyboardInputReport()
    @_property
    def boot_keyboard_input_report(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicUuids::get_BootKeyboardOutputReport()
    @_property
    def boot_keyboard_output_report(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicUuids::get_BootMouseInputReport()
    @_property
    def boot_mouse_input_report(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicUuids::get_CurrentTime()
    @_property
    def current_time(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicUuids::get_CyclingPowerControlPoint()
    @_property
    def cycling_power_control_point(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicUuids::get_ReferenceTimeInformation()
    @_property
    def reference_time_information(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicUuids::get_CyclingPowerMeasurement()
    @_property
    def cycling_power_measurement(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicUuids::get_CyclingPowerVector()
    @_property
    def cycling_power_vector(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicUuids::get_DateTime()
    @_property
    def date_time(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicUuids::get_DayDateTime()
    @_property
    def day_date_time(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicUuids::get_DayOfWeek()
    @_property
    def day_of_week(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicUuids::get_DstOffset()
    @_property
    def dst_offset(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicUuids::get_ExactTime256()
    @_property
    def exact_time256(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicUuids::get_FirmwareRevisionString()
    @_property
    def firmware_revision_string(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicUuids::get_GapAppearance()
    @_property
    def gap_appearance(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicUuids::get_GapDeviceName()
    @_property
    def gap_device_name(cls) -> _uuid.UUID: ...

@typing.final
class GattCharacteristicUuids(winrt.system.Object, metaclass=GattCharacteristicUuids_Static):
    pass

@typing.final
class GattCharacteristicsResult(winrt.system.Object):
    # Windows.Foundation.Collections.IVectorView`1<Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristic> Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicsResult::get_Characteristics()
    @_property
    def characteristics(self) -> typing.Sequence[GattCharacteristic]: ...
    # Windows.Foundation.IReference`1<System.Byte> Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicsResult::get_ProtocolError()
    @_property
    def protocol_error(self) -> typing.Optional[winrt.system.UInt8]: ...
    # Windows.Devices.Bluetooth.GenericAttributeProfile.GattCommunicationStatus Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicsResult::get_Status()
    @_property
    def status(self) -> GattCommunicationStatus: ...

@typing.final
class GattClientNotificationResult(winrt.system.Object):
    # Windows.Foundation.IReference`1<System.Byte> Windows.Devices.Bluetooth.GenericAttributeProfile.GattClientNotificationResult::get_ProtocolError()
    @_property
    def protocol_error(self) -> typing.Optional[winrt.system.UInt8]: ...
    # Windows.Devices.Bluetooth.GenericAttributeProfile.GattCommunicationStatus Windows.Devices.Bluetooth.GenericAttributeProfile.GattClientNotificationResult::get_Status()
    @_property
    def status(self) -> GattCommunicationStatus: ...
    # Windows.Devices.Bluetooth.GenericAttributeProfile.GattSubscribedClient Windows.Devices.Bluetooth.GenericAttributeProfile.GattClientNotificationResult::get_SubscribedClient()
    @_property
    def subscribed_client(self) -> GattSubscribedClient: ...
    # System.UInt16 Windows.Devices.Bluetooth.GenericAttributeProfile.GattClientNotificationResult::get_BytesSent()
    @_property
    def bytes_sent(self) -> winrt.system.UInt16: ...

@typing.final
class GattDescriptor_Static(winrt._winrt.IInspectable_Static):
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattDescriptor::ConvertShortIdToUuid(System.UInt16)
    # @deprecated("Use BluetoothUuidHelper instead of ConvertShortIdToUuid.  For more information, see MSDN.")
    def convert_short_id_to_uuid(cls, short_id: winrt.system.UInt16, /) -> _uuid.UUID: ...

@typing.final
class GattDescriptor(winrt.system.Object, metaclass=GattDescriptor_Static):
    # Windows.Foundation.IAsyncOperation`1<Windows.Devices.Bluetooth.GenericAttributeProfile.GattReadResult> Windows.Devices.Bluetooth.GenericAttributeProfile.GattDescriptor::ReadValueAsync()
    def read_value_async(self) -> windows_foundation.IAsyncOperation[GattReadResult]: ...
    # Windows.Foundation.IAsyncOperation`1<Windows.Devices.Bluetooth.GenericAttributeProfile.GattReadResult> Windows.Devices.Bluetooth.GenericAttributeProfile.GattDescriptor::ReadValueAsync(Windows.Devices.Bluetooth.BluetoothCacheMode)
    def read_value_with_cache_mode_async(self, cache_mode: windows_devices_bluetooth.BluetoothCacheMode, /) -> windows_foundation.IAsyncOperation[GattReadResult]: ...
    # Windows.Foundation.IAsyncOperation`1<Windows.Devices.Bluetooth.GenericAttributeProfile.GattCommunicationStatus> Windows.Devices.Bluetooth.GenericAttributeProfile.GattDescriptor::WriteValueAsync(Windows.Storage.Streams.IBuffer)
    def write_value_async(self, value: windows_storage_streams.IBuffer, /) -> windows_foundation.IAsyncOperation[GattCommunicationStatus]: ...
    # Windows.Foundation.IAsyncOperation`1<Windows.Devices.Bluetooth.GenericAttributeProfile.GattWriteResult> Windows.Devices.Bluetooth.GenericAttributeProfile.GattDescriptor::WriteValueWithResultAsync(Windows.Storage.Streams.IBuffer)
    def write_value_with_result_async(self, value: windows_storage_streams.IBuffer, /) -> windows_foundation.IAsyncOperation[GattWriteResult]: ...
    # Windows.Devices.Bluetooth.GenericAttributeProfile.GattProtectionLevel Windows.Devices.Bluetooth.GenericAttributeProfile.GattDescriptor::get_ProtectionLevel()
    @_property
    def protection_level(self) -> GattProtectionLevel: ...
    # System.Void Windows.Devices.Bluetooth.GenericAttributeProfile.GattDescriptor::put_ProtectionLevel(Windows.Devices.Bluetooth.GenericAttributeProfile.GattProtectionLevel)
    @protection_level.setter
    def protection_level(self, value: GattProtectionLevel) -> None: ...
    # System.UInt16 Windows.Devices.Bluetooth.GenericAttributeProfile.GattDescriptor::get_AttributeHandle()
    @_property
    def attribute_handle(self) -> winrt.system.UInt16: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattDescriptor::get_Uuid()
    @_property
    def uuid(self) -> _uuid.UUID: ...

@typing.final
class GattDescriptorUuids_Static(winrt._winrt.IInspectable_Static):
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattDescriptorUuids::get_CharacteristicAggregateFormat()
    @_property
    def characteristic_aggregate_format(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattDescriptorUuids::get_CharacteristicExtendedProperties()
    @_property
    def characteristic_extended_properties(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattDescriptorUuids::get_CharacteristicPresentationFormat()
    @_property
    def characteristic_presentation_format(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattDescriptorUuids::get_CharacteristicUserDescription()
    @_property
    def characteristic_user_description(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattDescriptorUuids::get_ClientCharacteristicConfiguration()
    @_property
    def client_characteristic_configuration(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattDescriptorUuids::get_ServerCharacteristicConfiguration()
    @_property
    def server_characteristic_configuration(cls) -> _uuid.UUID: ...

@typing.final
class GattDescriptorUuids(winrt.system.Object, metaclass=GattDescriptorUuids_Static):
    pass

@typing.final
class GattDescriptorsResult(winrt.system.Object):
    # Windows.Foundation.Collections.IVectorView`1<Windows.Devices.Bluetooth.GenericAttributeProfile.GattDescriptor> Windows.Devices.Bluetooth.GenericAttributeProfile.GattDescriptorsResult::get_Descriptors()
    @_property
    def descriptors(self) -> typing.Sequence[GattDescriptor]: ...
    # Windows.Foundation.IReference`1<System.Byte> Windows.Devices.Bluetooth.GenericAttributeProfile.GattDescriptorsResult::get_ProtocolError()
    @_property
    def protocol_error(self) -> typing.Optional[winrt.system.UInt8]: ...
    # Windows.Devices.Bluetooth.GenericAttributeProfile.GattCommunicationStatus Windows.Devices.Bluetooth.GenericAttributeProfile.GattDescriptorsResult::get_Status()
    @_property
    def status(self) -> GattCommunicationStatus: ...

@typing.final
class GattDeviceService_Static(winrt._winrt.IInspectable_Static):
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattDeviceService::ConvertShortIdToUuid(System.UInt16)
    # @deprecated("Use BluetoothUuidHelper instead of ConvertShortIdToUuid.  For more information, see MSDN.")
    def convert_short_id_to_uuid(cls, short_id: winrt.system.UInt16, /) -> _uuid.UUID: ...
    # Windows.Foundation.IAsyncOperation`1<Windows.Devices.Bluetooth.GenericAttributeProfile.GattDeviceService> Windows.Devices.Bluetooth.GenericAttributeProfile.GattDeviceService::FromIdAsync(System.String)
    def from_id_async(cls, device_id: str, /) -> windows_foundation.IAsyncOperation[GattDeviceService]: ...
    # Windows.Foundation.IAsyncOperation`1<Windows.Devices.Bluetooth.GenericAttributeProfile.GattDeviceService> Windows.Devices.Bluetooth.GenericAttributeProfile.GattDeviceService::FromIdAsync(System.String,Windows.Devices.Bluetooth.GenericAttributeProfile.GattSharingMode)
    def from_id_with_sharing_mode_async(cls, device_id: str, sharing_mode: GattSharingMode, /) -> windows_foundation.IAsyncOperation[GattDeviceService]: ...
    # System.String Windows.Devices.Bluetooth.GenericAttributeProfile.GattDeviceService::GetDeviceSelectorForBluetoothDeviceId(Windows.Devices.Bluetooth.BluetoothDeviceId)
    def get_device_selector_for_bluetooth_device_id(cls, bluetooth_device_id: windows_devices_bluetooth.BluetoothDeviceId, /) -> str: ...
    # System.String Windows.Devices.Bluetooth.GenericAttributeProfile.GattDeviceService::GetDeviceSelectorForBluetoothDeviceIdAndUuid(Windows.Devices.Bluetooth.BluetoothDeviceId,System.Guid)
    def get_device_selector_for_bluetooth_device_id_and_uuid(cls, bluetooth_device_id: windows_devices_bluetooth.BluetoothDeviceId, service_uuid: _uuid.UUID, /) -> str: ...
    # System.String Windows.Devices.Bluetooth.GenericAttributeProfile.GattDeviceService::GetDeviceSelectorForBluetoothDeviceIdAndUuid(Windows.Devices.Bluetooth.BluetoothDeviceId,System.Guid,Windows.Devices.Bluetooth.BluetoothCacheMode)
    def get_device_selector_for_bluetooth_device_id_and_uuid_with_cache_mode(cls, bluetooth_device_id: windows_devices_bluetooth.BluetoothDeviceId, service_uuid: _uuid.UUID, cache_mode: windows_devices_bluetooth.BluetoothCacheMode, /) -> str: ...
    # System.String Windows.Devices.Bluetooth.GenericAttributeProfile.GattDeviceService::GetDeviceSelectorForBluetoothDeviceId(Windows.Devices.Bluetooth.BluetoothDeviceId,Windows.Devices.Bluetooth.BluetoothCacheMode)
    def get_device_selector_for_bluetooth_device_id_with_cache_mode(cls, bluetooth_device_id: windows_devices_bluetooth.BluetoothDeviceId, cache_mode: windows_devices_bluetooth.BluetoothCacheMode, /) -> str: ...
    # System.String Windows.Devices.Bluetooth.GenericAttributeProfile.GattDeviceService::GetDeviceSelectorFromShortId(System.UInt16)
    # @deprecated("Use GetDeviceSelectorFromUuid instead of GetDeviceSelectorFromShortId.  For more information, see MSDN.")
    def get_device_selector_from_short_id(cls, service_short_id: winrt.system.UInt16, /) -> str: ...
    # System.String Windows.Devices.Bluetooth.GenericAttributeProfile.GattDeviceService::GetDeviceSelectorFromUuid(System.Guid)
    def get_device_selector_from_uuid(cls, service_uuid: _uuid.UUID, /) -> str: ...

@typing.final
class GattDeviceService(winrt.system.Object, windows_foundation.IClosable, metaclass=GattDeviceService_Static):
    def __enter__(self: Self) -> Self: ...
    def __exit__(self, exc_type: typing.Optional[typing.Type[BaseException]], exc_value: typing.Optional[BaseException], traceback: typing.Optional[types.TracebackType]) -> None: ...
    # System.Void Windows.Devices.Bluetooth.GenericAttributeProfile.GattDeviceService::Close()
    def close(self) -> None: ...
    # Windows.Foundation.Collections.IVectorView`1<Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristic> Windows.Devices.Bluetooth.GenericAttributeProfile.GattDeviceService::GetAllCharacteristics()
    # @deprecated("Use GetCharacteristicsAsync instead of GetAllCharacteristics.  For more information, see MSDN.")
    def get_all_characteristics(self) -> typing.Sequence[GattCharacteristic]: ...
    # Windows.Foundation.Collections.IVectorView`1<Windows.Devices.Bluetooth.GenericAttributeProfile.GattDeviceService> Windows.Devices.Bluetooth.GenericAttributeProfile.GattDeviceService::GetAllIncludedServices()
    # @deprecated("Use GetIncludedServicesAsync instead of GetAllIncludedServices.  For more information, see MSDN.")
    def get_all_included_services(self) -> typing.Sequence[GattDeviceService]: ...
    # Windows.Foundation.Collections.IVectorView`1<Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristic> Windows.Devices.Bluetooth.GenericAttributeProfile.GattDeviceService::GetCharacteristics(System.Guid)
    # @deprecated("Use GetCharacteristicsForUuidAsync instead of GetCharacteristics.  For more information, see MSDN.")
    def get_characteristics(self, characteristic_uuid: _uuid.UUID, /) -> typing.Sequence[GattCharacteristic]: ...
    # Windows.Foundation.IAsyncOperation`1<Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicsResult> Windows.Devices.Bluetooth.GenericAttributeProfile.GattDeviceService::GetCharacteristicsAsync()
    def get_characteristics_async(self) -> windows_foundation.IAsyncOperation[GattCharacteristicsResult]: ...
    # Windows.Foundation.IAsyncOperation`1<Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicsResult> Windows.Devices.Bluetooth.GenericAttributeProfile.GattDeviceService::GetCharacteristicsForUuidAsync(System.Guid)
    def get_characteristics_for_uuid_async(self, characteristic_uuid: _uuid.UUID, /) -> windows_foundation.IAsyncOperation[GattCharacteristicsResult]: ...
    # Windows.Foundation.IAsyncOperation`1<Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicsResult> Windows.Devices.Bluetooth.GenericAttributeProfile.GattDeviceService::GetCharacteristicsForUuidAsync(System.Guid,Windows.Devices.Bluetooth.BluetoothCacheMode)
    def get_characteristics_for_uuid_with_cache_mode_async(self, characteristic_uuid: _uuid.UUID, cache_mode: windows_devices_bluetooth.BluetoothCacheMode, /) -> windows_foundation.IAsyncOperation[GattCharacteristicsResult]: ...
    # Windows.Foundation.IAsyncOperation`1<Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicsResult> Windows.Devices.Bluetooth.GenericAttributeProfile.GattDeviceService::GetCharacteristicsAsync(Windows.Devices.Bluetooth.BluetoothCacheMode)
    def get_characteristics_with_cache_mode_async(self, cache_mode: windows_devices_bluetooth.BluetoothCacheMode, /) -> windows_foundation.IAsyncOperation[GattCharacteristicsResult]: ...
    # Windows.Foundation.Collections.IVectorView`1<Windows.Devices.Bluetooth.GenericAttributeProfile.GattDeviceService> Windows.Devices.Bluetooth.GenericAttributeProfile.GattDeviceService::GetIncludedServices(System.Guid)
    # @deprecated("Use GetIncludedServicesForUuidAsync instead of GetIncludedServices.  For more information, see MSDN.")
    def get_included_services(self, service_uuid: _uuid.UUID, /) -> typing.Sequence[GattDeviceService]: ...
    # Windows.Foundation.IAsyncOperation`1<Windows.Devices.Bluetooth.GenericAttributeProfile.GattDeviceServicesResult> Windows.Devices.Bluetooth.GenericAttributeProfile.GattDeviceService::GetIncludedServicesAsync()
    def get_included_services_async(self) -> windows_foundation.IAsyncOperation[GattDeviceServicesResult]: ...
    # Windows.Foundation.IAsyncOperation`1<Windows.Devices.Bluetooth.GenericAttributeProfile.GattDeviceServicesResult> Windows.Devices.Bluetooth.GenericAttributeProfile.GattDeviceService::GetIncludedServicesForUuidAsync(System.Guid)
    def get_included_services_for_uuid_async(self, service_uuid: _uuid.UUID, /) -> windows_foundation.IAsyncOperation[GattDeviceServicesResult]: ...
    # Windows.Foundation.IAsyncOperation`1<Windows.Devices.Bluetooth.GenericAttributeProfile.GattDeviceServicesResult> Windows.Devices.Bluetooth.GenericAttributeProfile.GattDeviceService::GetIncludedServicesForUuidAsync(System.Guid,Windows.Devices.Bluetooth.BluetoothCacheMode)
    def get_included_services_for_uuid_with_cache_mode_async(self, service_uuid: _uuid.UUID, cache_mode: windows_devices_bluetooth.BluetoothCacheMode, /) -> windows_foundation.IAsyncOperation[GattDeviceServicesResult]: ...
    # Windows.Foundation.IAsyncOperation`1<Windows.Devices.Bluetooth.GenericAttributeProfile.GattDeviceServicesResult> Windows.Devices.Bluetooth.GenericAttributeProfile.GattDeviceService::GetIncludedServicesAsync(Windows.Devices.Bluetooth.BluetoothCacheMode)
    def get_included_services_with_cache_mode_async(self, cache_mode: windows_devices_bluetooth.BluetoothCacheMode, /) -> windows_foundation.IAsyncOperation[GattDeviceServicesResult]: ...
    # Windows.Foundation.IAsyncOperation`1<Windows.Devices.Bluetooth.GenericAttributeProfile.GattOpenStatus> Windows.Devices.Bluetooth.GenericAttributeProfile.GattDeviceService::OpenAsync(Windows.Devices.Bluetooth.GenericAttributeProfile.GattSharingMode)
    def open_async(self, sharing_mode: GattSharingMode, /) -> windows_foundation.IAsyncOperation[GattOpenStatus]: ...
    # Windows.Foundation.IAsyncOperation`1<Windows.Devices.Enumeration.DeviceAccessStatus> Windows.Devices.Bluetooth.GenericAttributeProfile.GattDeviceService::RequestAccessAsync()
    def request_access_async(self) -> windows_foundation.IAsyncOperation[windows_devices_enumeration.DeviceAccessStatus]: ...
    # System.UInt16 Windows.Devices.Bluetooth.GenericAttributeProfile.GattDeviceService::get_AttributeHandle()
    @_property
    def attribute_handle(self) -> winrt.system.UInt16: ...
    # System.String Windows.Devices.Bluetooth.GenericAttributeProfile.GattDeviceService::get_DeviceId()
    @_property
    def device_id(self) -> str: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattDeviceService::get_Uuid()
    @_property
    def uuid(self) -> _uuid.UUID: ...
    # Windows.Devices.Bluetooth.BluetoothLEDevice Windows.Devices.Bluetooth.GenericAttributeProfile.GattDeviceService::get_Device()
    @_property
    def device(self) -> windows_devices_bluetooth.BluetoothLEDevice: ...
    # Windows.Foundation.Collections.IVectorView`1<Windows.Devices.Bluetooth.GenericAttributeProfile.GattDeviceService> Windows.Devices.Bluetooth.GenericAttributeProfile.GattDeviceService::get_ParentServices()
    @_property
    def parent_services(self) -> typing.Sequence[GattDeviceService]: ...
    # Windows.Devices.Enumeration.DeviceAccessInformation Windows.Devices.Bluetooth.GenericAttributeProfile.GattDeviceService::get_DeviceAccessInformation()
    @_property
    def device_access_information(self) -> windows_devices_enumeration.DeviceAccessInformation: ...
    # Windows.Devices.Bluetooth.GenericAttributeProfile.GattSession Windows.Devices.Bluetooth.GenericAttributeProfile.GattDeviceService::get_Session()
    @_property
    def session(self) -> GattSession: ...
    # Windows.Devices.Bluetooth.GenericAttributeProfile.GattSharingMode Windows.Devices.Bluetooth.GenericAttributeProfile.GattDeviceService::get_SharingMode()
    @_property
    def sharing_mode(self) -> GattSharingMode: ...

@typing.final
class GattDeviceServicesResult(winrt.system.Object):
    # Windows.Foundation.IReference`1<System.Byte> Windows.Devices.Bluetooth.GenericAttributeProfile.GattDeviceServicesResult::get_ProtocolError()
    @_property
    def protocol_error(self) -> typing.Optional[winrt.system.UInt8]: ...
    # Windows.Foundation.Collections.IVectorView`1<Windows.Devices.Bluetooth.GenericAttributeProfile.GattDeviceService> Windows.Devices.Bluetooth.GenericAttributeProfile.GattDeviceServicesResult::get_Services()
    @_property
    def services(self) -> typing.Sequence[GattDeviceService]: ...
    # Windows.Devices.Bluetooth.GenericAttributeProfile.GattCommunicationStatus Windows.Devices.Bluetooth.GenericAttributeProfile.GattDeviceServicesResult::get_Status()
    @_property
    def status(self) -> GattCommunicationStatus: ...

@typing.final
class GattLocalCharacteristic(winrt.system.Object):
    # Windows.Foundation.IAsyncOperation`1<Windows.Devices.Bluetooth.GenericAttributeProfile.GattLocalDescriptorResult> Windows.Devices.Bluetooth.GenericAttributeProfile.GattLocalCharacteristic::CreateDescriptorAsync(System.Guid,Windows.Devices.Bluetooth.GenericAttributeProfile.GattLocalDescriptorParameters)
    def create_descriptor_async(self, descriptor_uuid: _uuid.UUID, parameters: GattLocalDescriptorParameters, /) -> windows_foundation.IAsyncOperation[GattLocalDescriptorResult]: ...
    # Windows.Foundation.IAsyncOperation`1<Windows.Foundation.Collections.IVectorView`1<Windows.Devices.Bluetooth.GenericAttributeProfile.GattClientNotificationResult>> Windows.Devices.Bluetooth.GenericAttributeProfile.GattLocalCharacteristic::NotifyValueAsync(Windows.Storage.Streams.IBuffer)
    def notify_value_async(self, value: windows_storage_streams.IBuffer, /) -> windows_foundation.IAsyncOperation[typing.Sequence[GattClientNotificationResult]]: ...
    # Windows.Foundation.IAsyncOperation`1<Windows.Devices.Bluetooth.GenericAttributeProfile.GattClientNotificationResult> Windows.Devices.Bluetooth.GenericAttributeProfile.GattLocalCharacteristic::NotifyValueAsync(Windows.Storage.Streams.IBuffer,Windows.Devices.Bluetooth.GenericAttributeProfile.GattSubscribedClient)
    def notify_value_for_subscribed_client_async(self, value: windows_storage_streams.IBuffer, subscribed_client: GattSubscribedClient, /) -> windows_foundation.IAsyncOperation[GattClientNotificationResult]: ...
    # Windows.Foundation.EventRegistrationToken Windows.Devices.Bluetooth.GenericAttributeProfile.GattLocalCharacteristic::add_ReadRequested(Windows.Foundation.TypedEventHandler`2<Windows.Devices.Bluetooth.GenericAttributeProfile.GattLocalCharacteristic,Windows.Devices.Bluetooth.GenericAttributeProfile.GattReadRequestedEventArgs>)
    def add_read_requested(self, handler: windows_foundation.TypedEventHandler[GattLocalCharacteristic, GattReadRequestedEventArgs], /) -> windows_foundation.EventRegistrationToken: ...
    # System.Void Windows.Devices.Bluetooth.GenericAttributeProfile.GattLocalCharacteristic::remove_ReadRequested(Windows.Foundation.EventRegistrationToken)
    def remove_read_requested(self, token: typing.Union[windows_foundation.EventRegistrationToken, typing.Tuple[winrt.system.Int64]], /) -> None: ...
    # Windows.Foundation.EventRegistrationToken Windows.Devices.Bluetooth.GenericAttributeProfile.GattLocalCharacteristic::add_SubscribedClientsChanged(Windows.Foundation.TypedEventHandler`2<Windows.Devices.Bluetooth.GenericAttributeProfile.GattLocalCharacteristic,System.Object>)
    def add_subscribed_clients_changed(self, handler: windows_foundation.TypedEventHandler[GattLocalCharacteristic, winrt.system.Object], /) -> windows_foundation.EventRegistrationToken: ...
    # System.Void Windows.Devices.Bluetooth.GenericAttributeProfile.GattLocalCharacteristic::remove_SubscribedClientsChanged(Windows.Foundation.EventRegistrationToken)
    def remove_subscribed_clients_changed(self, token: typing.Union[windows_foundation.EventRegistrationToken, typing.Tuple[winrt.system.Int64]], /) -> None: ...
    # Windows.Foundation.EventRegistrationToken Windows.Devices.Bluetooth.GenericAttributeProfile.GattLocalCharacteristic::add_WriteRequested(Windows.Foundation.TypedEventHandler`2<Windows.Devices.Bluetooth.GenericAttributeProfile.GattLocalCharacteristic,Windows.Devices.Bluetooth.GenericAttributeProfile.GattWriteRequestedEventArgs>)
    def add_write_requested(self, handler: windows_foundation.TypedEventHandler[GattLocalCharacteristic, GattWriteRequestedEventArgs], /) -> windows_foundation.EventRegistrationToken: ...
    # System.Void Windows.Devices.Bluetooth.GenericAttributeProfile.GattLocalCharacteristic::remove_WriteRequested(Windows.Foundation.EventRegistrationToken)
    def remove_write_requested(self, token: typing.Union[windows_foundation.EventRegistrationToken, typing.Tuple[winrt.system.Int64]], /) -> None: ...
    # Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicProperties Windows.Devices.Bluetooth.GenericAttributeProfile.GattLocalCharacteristic::get_CharacteristicProperties()
    @_property
    def characteristic_properties(self) -> GattCharacteristicProperties: ...
    # Windows.Foundation.Collections.IVectorView`1<Windows.Devices.Bluetooth.GenericAttributeProfile.GattLocalDescriptor> Windows.Devices.Bluetooth.GenericAttributeProfile.GattLocalCharacteristic::get_Descriptors()
    @_property
    def descriptors(self) -> typing.Sequence[GattLocalDescriptor]: ...
    # Windows.Foundation.Collections.IVectorView`1<Windows.Devices.Bluetooth.GenericAttributeProfile.GattPresentationFormat> Windows.Devices.Bluetooth.GenericAttributeProfile.GattLocalCharacteristic::get_PresentationFormats()
    @_property
    def presentation_formats(self) -> typing.Sequence[GattPresentationFormat]: ...
    # Windows.Devices.Bluetooth.GenericAttributeProfile.GattProtectionLevel Windows.Devices.Bluetooth.GenericAttributeProfile.GattLocalCharacteristic::get_ReadProtectionLevel()
    @_property
    def read_protection_level(self) -> GattProtectionLevel: ...
    # Windows.Storage.Streams.IBuffer Windows.Devices.Bluetooth.GenericAttributeProfile.GattLocalCharacteristic::get_StaticValue()
    @_property
    def static_value(self) -> windows_storage_streams.IBuffer: ...
    # Windows.Foundation.Collections.IVectorView`1<Windows.Devices.Bluetooth.GenericAttributeProfile.GattSubscribedClient> Windows.Devices.Bluetooth.GenericAttributeProfile.GattLocalCharacteristic::get_SubscribedClients()
    @_property
    def subscribed_clients(self) -> typing.Sequence[GattSubscribedClient]: ...
    # System.String Windows.Devices.Bluetooth.GenericAttributeProfile.GattLocalCharacteristic::get_UserDescription()
    @_property
    def user_description(self) -> str: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattLocalCharacteristic::get_Uuid()
    @_property
    def uuid(self) -> _uuid.UUID: ...
    # Windows.Devices.Bluetooth.GenericAttributeProfile.GattProtectionLevel Windows.Devices.Bluetooth.GenericAttributeProfile.GattLocalCharacteristic::get_WriteProtectionLevel()
    @_property
    def write_protection_level(self) -> GattProtectionLevel: ...

@typing.final
class GattLocalCharacteristicParameters(winrt.system.Object):
    def __new__(cls: typing.Type[Self]) -> Self: ...
    # Windows.Devices.Bluetooth.GenericAttributeProfile.GattProtectionLevel Windows.Devices.Bluetooth.GenericAttributeProfile.GattLocalCharacteristicParameters::get_WriteProtectionLevel()
    @_property
    def write_protection_level(self) -> GattProtectionLevel: ...
    # System.Void Windows.Devices.Bluetooth.GenericAttributeProfile.GattLocalCharacteristicParameters::put_WriteProtectionLevel(Windows.Devices.Bluetooth.GenericAttributeProfile.GattProtectionLevel)
    @write_protection_level.setter
    def write_protection_level(self, value: GattProtectionLevel) -> None: ...
    # System.String Windows.Devices.Bluetooth.GenericAttributeProfile.GattLocalCharacteristicParameters::get_UserDescription()
    @_property
    def user_description(self) -> str: ...
    # System.Void Windows.Devices.Bluetooth.GenericAttributeProfile.GattLocalCharacteristicParameters::put_UserDescription(System.String)
    @user_description.setter
    def user_description(self, value: str) -> None: ...
    # Windows.Storage.Streams.IBuffer Windows.Devices.Bluetooth.GenericAttributeProfile.GattLocalCharacteristicParameters::get_StaticValue()
    @_property
    def static_value(self) -> windows_storage_streams.IBuffer: ...
    # System.Void Windows.Devices.Bluetooth.GenericAttributeProfile.GattLocalCharacteristicParameters::put_StaticValue(Windows.Storage.Streams.IBuffer)
    @static_value.setter
    def static_value(self, value: windows_storage_streams.IBuffer) -> None: ...
    # Windows.Devices.Bluetooth.GenericAttributeProfile.GattProtectionLevel Windows.Devices.Bluetooth.GenericAttributeProfile.GattLocalCharacteristicParameters::get_ReadProtectionLevel()
    @_property
    def read_protection_level(self) -> GattProtectionLevel: ...
    # System.Void Windows.Devices.Bluetooth.GenericAttributeProfile.GattLocalCharacteristicParameters::put_ReadProtectionLevel(Windows.Devices.Bluetooth.GenericAttributeProfile.GattProtectionLevel)
    @read_protection_level.setter
    def read_protection_level(self, value: GattProtectionLevel) -> None: ...
    # Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicProperties Windows.Devices.Bluetooth.GenericAttributeProfile.GattLocalCharacteristicParameters::get_CharacteristicProperties()
    @_property
    def characteristic_properties(self) -> GattCharacteristicProperties: ...
    # System.Void Windows.Devices.Bluetooth.GenericAttributeProfile.GattLocalCharacteristicParameters::put_CharacteristicProperties(Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicProperties)
    @characteristic_properties.setter
    def characteristic_properties(self, value: GattCharacteristicProperties) -> None: ...
    # Windows.Foundation.Collections.IVector`1<Windows.Devices.Bluetooth.GenericAttributeProfile.GattPresentationFormat> Windows.Devices.Bluetooth.GenericAttributeProfile.GattLocalCharacteristicParameters::get_PresentationFormats()
    @_property
    def presentation_formats(self) -> typing.MutableSequence[GattPresentationFormat]: ...

@typing.final
class GattLocalCharacteristicResult(winrt.system.Object):
    # Windows.Devices.Bluetooth.GenericAttributeProfile.GattLocalCharacteristic Windows.Devices.Bluetooth.GenericAttributeProfile.GattLocalCharacteristicResult::get_Characteristic()
    @_property
    def characteristic(self) -> GattLocalCharacteristic: ...
    # Windows.Devices.Bluetooth.BluetoothError Windows.Devices.Bluetooth.GenericAttributeProfile.GattLocalCharacteristicResult::get_Error()
    @_property
    def error(self) -> windows_devices_bluetooth.BluetoothError: ...

@typing.final
class GattLocalDescriptor(winrt.system.Object):
    # Windows.Foundation.EventRegistrationToken Windows.Devices.Bluetooth.GenericAttributeProfile.GattLocalDescriptor::add_ReadRequested(Windows.Foundation.TypedEventHandler`2<Windows.Devices.Bluetooth.GenericAttributeProfile.GattLocalDescriptor,Windows.Devices.Bluetooth.GenericAttributeProfile.GattReadRequestedEventArgs>)
    def add_read_requested(self, handler: windows_foundation.TypedEventHandler[GattLocalDescriptor, GattReadRequestedEventArgs], /) -> windows_foundation.EventRegistrationToken: ...
    # System.Void Windows.Devices.Bluetooth.GenericAttributeProfile.GattLocalDescriptor::remove_ReadRequested(Windows.Foundation.EventRegistrationToken)
    def remove_read_requested(self, token: typing.Union[windows_foundation.EventRegistrationToken, typing.Tuple[winrt.system.Int64]], /) -> None: ...
    # Windows.Foundation.EventRegistrationToken Windows.Devices.Bluetooth.GenericAttributeProfile.GattLocalDescriptor::add_WriteRequested(Windows.Foundation.TypedEventHandler`2<Windows.Devices.Bluetooth.GenericAttributeProfile.GattLocalDescriptor,Windows.Devices.Bluetooth.GenericAttributeProfile.GattWriteRequestedEventArgs>)
    def add_write_requested(self, handler: windows_foundation.TypedEventHandler[GattLocalDescriptor, GattWriteRequestedEventArgs], /) -> windows_foundation.EventRegistrationToken: ...
    # System.Void Windows.Devices.Bluetooth.GenericAttributeProfile.GattLocalDescriptor::remove_WriteRequested(Windows.Foundation.EventRegistrationToken)
    def remove_write_requested(self, token: typing.Union[windows_foundation.EventRegistrationToken, typing.Tuple[winrt.system.Int64]], /) -> None: ...
    # Windows.Devices.Bluetooth.GenericAttributeProfile.GattProtectionLevel Windows.Devices.Bluetooth.GenericAttributeProfile.GattLocalDescriptor::get_ReadProtectionLevel()
    @_property
    def read_protection_level(self) -> GattProtectionLevel: ...
    # Windows.Storage.Streams.IBuffer Windows.Devices.Bluetooth.GenericAttributeProfile.GattLocalDescriptor::get_StaticValue()
    @_property
    def static_value(self) -> windows_storage_streams.IBuffer: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattLocalDescriptor::get_Uuid()
    @_property
    def uuid(self) -> _uuid.UUID: ...
    # Windows.Devices.Bluetooth.GenericAttributeProfile.GattProtectionLevel Windows.Devices.Bluetooth.GenericAttributeProfile.GattLocalDescriptor::get_WriteProtectionLevel()
    @_property
    def write_protection_level(self) -> GattProtectionLevel: ...

@typing.final
class GattLocalDescriptorParameters(winrt.system.Object):
    def __new__(cls: typing.Type[Self]) -> Self: ...
    # Windows.Devices.Bluetooth.GenericAttributeProfile.GattProtectionLevel Windows.Devices.Bluetooth.GenericAttributeProfile.GattLocalDescriptorParameters::get_WriteProtectionLevel()
    @_property
    def write_protection_level(self) -> GattProtectionLevel: ...
    # System.Void Windows.Devices.Bluetooth.GenericAttributeProfile.GattLocalDescriptorParameters::put_WriteProtectionLevel(Windows.Devices.Bluetooth.GenericAttributeProfile.GattProtectionLevel)
    @write_protection_level.setter
    def write_protection_level(self, value: GattProtectionLevel) -> None: ...
    # Windows.Storage.Streams.IBuffer Windows.Devices.Bluetooth.GenericAttributeProfile.GattLocalDescriptorParameters::get_StaticValue()
    @_property
    def static_value(self) -> windows_storage_streams.IBuffer: ...
    # System.Void Windows.Devices.Bluetooth.GenericAttributeProfile.GattLocalDescriptorParameters::put_StaticValue(Windows.Storage.Streams.IBuffer)
    @static_value.setter
    def static_value(self, value: windows_storage_streams.IBuffer) -> None: ...
    # Windows.Devices.Bluetooth.GenericAttributeProfile.GattProtectionLevel Windows.Devices.Bluetooth.GenericAttributeProfile.GattLocalDescriptorParameters::get_ReadProtectionLevel()
    @_property
    def read_protection_level(self) -> GattProtectionLevel: ...
    # System.Void Windows.Devices.Bluetooth.GenericAttributeProfile.GattLocalDescriptorParameters::put_ReadProtectionLevel(Windows.Devices.Bluetooth.GenericAttributeProfile.GattProtectionLevel)
    @read_protection_level.setter
    def read_protection_level(self, value: GattProtectionLevel) -> None: ...

@typing.final
class GattLocalDescriptorResult(winrt.system.Object):
    # Windows.Devices.Bluetooth.GenericAttributeProfile.GattLocalDescriptor Windows.Devices.Bluetooth.GenericAttributeProfile.GattLocalDescriptorResult::get_Descriptor()
    @_property
    def descriptor(self) -> GattLocalDescriptor: ...
    # Windows.Devices.Bluetooth.BluetoothError Windows.Devices.Bluetooth.GenericAttributeProfile.GattLocalDescriptorResult::get_Error()
    @_property
    def error(self) -> windows_devices_bluetooth.BluetoothError: ...

@typing.final
class GattLocalService(winrt.system.Object):
    # Windows.Foundation.IAsyncOperation`1<Windows.Devices.Bluetooth.GenericAttributeProfile.GattLocalCharacteristicResult> Windows.Devices.Bluetooth.GenericAttributeProfile.GattLocalService::CreateCharacteristicAsync(System.Guid,Windows.Devices.Bluetooth.GenericAttributeProfile.GattLocalCharacteristicParameters)
    def create_characteristic_async(self, characteristic_uuid: _uuid.UUID, parameters: GattLocalCharacteristicParameters, /) -> windows_foundation.IAsyncOperation[GattLocalCharacteristicResult]: ...
    # Windows.Foundation.Collections.IVectorView`1<Windows.Devices.Bluetooth.GenericAttributeProfile.GattLocalCharacteristic> Windows.Devices.Bluetooth.GenericAttributeProfile.GattLocalService::get_Characteristics()
    @_property
    def characteristics(self) -> typing.Sequence[GattLocalCharacteristic]: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattLocalService::get_Uuid()
    @_property
    def uuid(self) -> _uuid.UUID: ...

@typing.final
class GattPresentationFormat_Static(winrt._winrt.IInspectable_Static):
    # Windows.Devices.Bluetooth.GenericAttributeProfile.GattPresentationFormat Windows.Devices.Bluetooth.GenericAttributeProfile.GattPresentationFormat::FromParts(System.Byte,System.Int32,System.UInt16,System.Byte,System.UInt16)
    def from_parts(cls, format_type: winrt.system.UInt8, exponent: winrt.system.Int32, unit: winrt.system.UInt16, namespace_id: winrt.system.UInt8, description: winrt.system.UInt16, /) -> GattPresentationFormat: ...
    # System.Byte Windows.Devices.Bluetooth.GenericAttributeProfile.GattPresentationFormat::get_BluetoothSigAssignedNumbers()
    @_property
    def bluetooth_sig_assigned_numbers(cls) -> winrt.system.UInt8: ...

@typing.final
class GattPresentationFormat(winrt.system.Object, metaclass=GattPresentationFormat_Static):
    # System.UInt16 Windows.Devices.Bluetooth.GenericAttributeProfile.GattPresentationFormat::get_Description()
    @_property
    def description(self) -> winrt.system.UInt16: ...
    # System.Int32 Windows.Devices.Bluetooth.GenericAttributeProfile.GattPresentationFormat::get_Exponent()
    @_property
    def exponent(self) -> winrt.system.Int32: ...
    # System.Byte Windows.Devices.Bluetooth.GenericAttributeProfile.GattPresentationFormat::get_FormatType()
    @_property
    def format_type(self) -> winrt.system.UInt8: ...
    # System.Byte Windows.Devices.Bluetooth.GenericAttributeProfile.GattPresentationFormat::get_Namespace()
    @_property
    def namespace(self) -> winrt.system.UInt8: ...
    # System.UInt16 Windows.Devices.Bluetooth.GenericAttributeProfile.GattPresentationFormat::get_Unit()
    @_property
    def unit(self) -> winrt.system.UInt16: ...

@typing.final
class GattPresentationFormatTypes_Static(winrt._winrt.IInspectable_Static):
    # System.Byte Windows.Devices.Bluetooth.GenericAttributeProfile.GattPresentationFormatTypes::get_Bit2()
    @_property
    def bit2(cls) -> winrt.system.UInt8: ...
    # System.Byte Windows.Devices.Bluetooth.GenericAttributeProfile.GattPresentationFormatTypes::get_Boolean()
    @_property
    def boolean(cls) -> winrt.system.UInt8: ...
    # System.Byte Windows.Devices.Bluetooth.GenericAttributeProfile.GattPresentationFormatTypes::get_DUInt16()
    @_property
    def d_uint16(cls) -> winrt.system.UInt8: ...
    # System.Byte Windows.Devices.Bluetooth.GenericAttributeProfile.GattPresentationFormatTypes::get_Float()
    @_property
    def float(cls) -> winrt.system.UInt8: ...
    # System.Byte Windows.Devices.Bluetooth.GenericAttributeProfile.GattPresentationFormatTypes::get_Float32()
    @_property
    def float32(cls) -> winrt.system.UInt8: ...
    # System.Byte Windows.Devices.Bluetooth.GenericAttributeProfile.GattPresentationFormatTypes::get_Float64()
    @_property
    def float64(cls) -> winrt.system.UInt8: ...
    # System.Byte Windows.Devices.Bluetooth.GenericAttributeProfile.GattPresentationFormatTypes::get_Nibble()
    @_property
    def nibble(cls) -> winrt.system.UInt8: ...
    # System.Byte Windows.Devices.Bluetooth.GenericAttributeProfile.GattPresentationFormatTypes::get_SFloat()
    @_property
    def s_float(cls) -> winrt.system.UInt8: ...
    # System.Byte Windows.Devices.Bluetooth.GenericAttributeProfile.GattPresentationFormatTypes::get_SInt12()
    @_property
    def s_int12(cls) -> winrt.system.UInt8: ...
    # System.Byte Windows.Devices.Bluetooth.GenericAttributeProfile.GattPresentationFormatTypes::get_SInt128()
    @_property
    def s_int128(cls) -> winrt.system.UInt8: ...
    # System.Byte Windows.Devices.Bluetooth.GenericAttributeProfile.GattPresentationFormatTypes::get_SInt16()
    @_property
    def s_int16(cls) -> winrt.system.UInt8: ...
    # System.Byte Windows.Devices.Bluetooth.GenericAttributeProfile.GattPresentationFormatTypes::get_SInt24()
    @_property
    def s_int24(cls) -> winrt.system.UInt8: ...
    # System.Byte Windows.Devices.Bluetooth.GenericAttributeProfile.GattPresentationFormatTypes::get_SInt32()
    @_property
    def s_int32(cls) -> winrt.system.UInt8: ...
    # System.Byte Windows.Devices.Bluetooth.GenericAttributeProfile.GattPresentationFormatTypes::get_SInt48()
    @_property
    def s_int48(cls) -> winrt.system.UInt8: ...
    # System.Byte Windows.Devices.Bluetooth.GenericAttributeProfile.GattPresentationFormatTypes::get_SInt64()
    @_property
    def s_int64(cls) -> winrt.system.UInt8: ...
    # System.Byte Windows.Devices.Bluetooth.GenericAttributeProfile.GattPresentationFormatTypes::get_SInt8()
    @_property
    def s_int8(cls) -> winrt.system.UInt8: ...
    # System.Byte Windows.Devices.Bluetooth.GenericAttributeProfile.GattPresentationFormatTypes::get_Struct()
    @_property
    def struct(cls) -> winrt.system.UInt8: ...
    # System.Byte Windows.Devices.Bluetooth.GenericAttributeProfile.GattPresentationFormatTypes::get_UInt12()
    @_property
    def uint12(cls) -> winrt.system.UInt8: ...
    # System.Byte Windows.Devices.Bluetooth.GenericAttributeProfile.GattPresentationFormatTypes::get_UInt128()
    @_property
    def uint128(cls) -> winrt.system.UInt8: ...
    # System.Byte Windows.Devices.Bluetooth.GenericAttributeProfile.GattPresentationFormatTypes::get_UInt16()
    @_property
    def uint16(cls) -> winrt.system.UInt8: ...
    # System.Byte Windows.Devices.Bluetooth.GenericAttributeProfile.GattPresentationFormatTypes::get_UInt24()
    @_property
    def uint24(cls) -> winrt.system.UInt8: ...
    # System.Byte Windows.Devices.Bluetooth.GenericAttributeProfile.GattPresentationFormatTypes::get_UInt32()
    @_property
    def uint32(cls) -> winrt.system.UInt8: ...
    # System.Byte Windows.Devices.Bluetooth.GenericAttributeProfile.GattPresentationFormatTypes::get_UInt48()
    @_property
    def uint48(cls) -> winrt.system.UInt8: ...
    # System.Byte Windows.Devices.Bluetooth.GenericAttributeProfile.GattPresentationFormatTypes::get_UInt64()
    @_property
    def uint64(cls) -> winrt.system.UInt8: ...
    # System.Byte Windows.Devices.Bluetooth.GenericAttributeProfile.GattPresentationFormatTypes::get_UInt8()
    @_property
    def uint8(cls) -> winrt.system.UInt8: ...
    # System.Byte Windows.Devices.Bluetooth.GenericAttributeProfile.GattPresentationFormatTypes::get_Utf16()
    @_property
    def utf16(cls) -> winrt.system.UInt8: ...
    # System.Byte Windows.Devices.Bluetooth.GenericAttributeProfile.GattPresentationFormatTypes::get_Utf8()
    @_property
    def utf8(cls) -> winrt.system.UInt8: ...

@typing.final
class GattPresentationFormatTypes(winrt.system.Object, metaclass=GattPresentationFormatTypes_Static):
    pass

@typing.final
class GattProtocolError_Static(winrt._winrt.IInspectable_Static):
    # System.Byte Windows.Devices.Bluetooth.GenericAttributeProfile.GattProtocolError::get_AttributeNotFound()
    @_property
    def attribute_not_found(cls) -> winrt.system.UInt8: ...
    # System.Byte Windows.Devices.Bluetooth.GenericAttributeProfile.GattProtocolError::get_AttributeNotLong()
    @_property
    def attribute_not_long(cls) -> winrt.system.UInt8: ...
    # System.Byte Windows.Devices.Bluetooth.GenericAttributeProfile.GattProtocolError::get_InsufficientAuthentication()
    @_property
    def insufficient_authentication(cls) -> winrt.system.UInt8: ...
    # System.Byte Windows.Devices.Bluetooth.GenericAttributeProfile.GattProtocolError::get_InsufficientAuthorization()
    @_property
    def insufficient_authorization(cls) -> winrt.system.UInt8: ...
    # System.Byte Windows.Devices.Bluetooth.GenericAttributeProfile.GattProtocolError::get_InsufficientEncryption()
    @_property
    def insufficient_encryption(cls) -> winrt.system.UInt8: ...
    # System.Byte Windows.Devices.Bluetooth.GenericAttributeProfile.GattProtocolError::get_InsufficientEncryptionKeySize()
    @_property
    def insufficient_encryption_key_size(cls) -> winrt.system.UInt8: ...
    # System.Byte Windows.Devices.Bluetooth.GenericAttributeProfile.GattProtocolError::get_InsufficientResources()
    @_property
    def insufficient_resources(cls) -> winrt.system.UInt8: ...
    # System.Byte Windows.Devices.Bluetooth.GenericAttributeProfile.GattProtocolError::get_InvalidAttributeValueLength()
    @_property
    def invalid_attribute_value_length(cls) -> winrt.system.UInt8: ...
    # System.Byte Windows.Devices.Bluetooth.GenericAttributeProfile.GattProtocolError::get_InvalidHandle()
    @_property
    def invalid_handle(cls) -> winrt.system.UInt8: ...
    # System.Byte Windows.Devices.Bluetooth.GenericAttributeProfile.GattProtocolError::get_InvalidOffset()
    @_property
    def invalid_offset(cls) -> winrt.system.UInt8: ...
    # System.Byte Windows.Devices.Bluetooth.GenericAttributeProfile.GattProtocolError::get_InvalidPdu()
    @_property
    def invalid_pdu(cls) -> winrt.system.UInt8: ...
    # System.Byte Windows.Devices.Bluetooth.GenericAttributeProfile.GattProtocolError::get_PrepareQueueFull()
    @_property
    def prepare_queue_full(cls) -> winrt.system.UInt8: ...
    # System.Byte Windows.Devices.Bluetooth.GenericAttributeProfile.GattProtocolError::get_ReadNotPermitted()
    @_property
    def read_not_permitted(cls) -> winrt.system.UInt8: ...
    # System.Byte Windows.Devices.Bluetooth.GenericAttributeProfile.GattProtocolError::get_RequestNotSupported()
    @_property
    def request_not_supported(cls) -> winrt.system.UInt8: ...
    # System.Byte Windows.Devices.Bluetooth.GenericAttributeProfile.GattProtocolError::get_UnlikelyError()
    @_property
    def unlikely_error(cls) -> winrt.system.UInt8: ...
    # System.Byte Windows.Devices.Bluetooth.GenericAttributeProfile.GattProtocolError::get_UnsupportedGroupType()
    @_property
    def unsupported_group_type(cls) -> winrt.system.UInt8: ...
    # System.Byte Windows.Devices.Bluetooth.GenericAttributeProfile.GattProtocolError::get_WriteNotPermitted()
    @_property
    def write_not_permitted(cls) -> winrt.system.UInt8: ...

@typing.final
class GattProtocolError(winrt.system.Object, metaclass=GattProtocolError_Static):
    pass

@typing.final
class GattReadClientCharacteristicConfigurationDescriptorResult(winrt.system.Object):
    # Windows.Devices.Bluetooth.GenericAttributeProfile.GattClientCharacteristicConfigurationDescriptorValue Windows.Devices.Bluetooth.GenericAttributeProfile.GattReadClientCharacteristicConfigurationDescriptorResult::get_ClientCharacteristicConfigurationDescriptor()
    @_property
    def client_characteristic_configuration_descriptor(self) -> GattClientCharacteristicConfigurationDescriptorValue: ...
    # Windows.Devices.Bluetooth.GenericAttributeProfile.GattCommunicationStatus Windows.Devices.Bluetooth.GenericAttributeProfile.GattReadClientCharacteristicConfigurationDescriptorResult::get_Status()
    @_property
    def status(self) -> GattCommunicationStatus: ...
    # Windows.Foundation.IReference`1<System.Byte> Windows.Devices.Bluetooth.GenericAttributeProfile.GattReadClientCharacteristicConfigurationDescriptorResult::get_ProtocolError()
    @_property
    def protocol_error(self) -> typing.Optional[winrt.system.UInt8]: ...

@typing.final
class GattReadRequest(winrt.system.Object):
    # System.Void Windows.Devices.Bluetooth.GenericAttributeProfile.GattReadRequest::RespondWithProtocolError(System.Byte)
    def respond_with_protocol_error(self, protocol_error: winrt.system.UInt8, /) -> None: ...
    # System.Void Windows.Devices.Bluetooth.GenericAttributeProfile.GattReadRequest::RespondWithValue(Windows.Storage.Streams.IBuffer)
    def respond_with_value(self, value: windows_storage_streams.IBuffer, /) -> None: ...
    # Windows.Foundation.EventRegistrationToken Windows.Devices.Bluetooth.GenericAttributeProfile.GattReadRequest::add_StateChanged(Windows.Foundation.TypedEventHandler`2<Windows.Devices.Bluetooth.GenericAttributeProfile.GattReadRequest,Windows.Devices.Bluetooth.GenericAttributeProfile.GattRequestStateChangedEventArgs>)
    def add_state_changed(self, handler: windows_foundation.TypedEventHandler[GattReadRequest, GattRequestStateChangedEventArgs], /) -> windows_foundation.EventRegistrationToken: ...
    # System.Void Windows.Devices.Bluetooth.GenericAttributeProfile.GattReadRequest::remove_StateChanged(Windows.Foundation.EventRegistrationToken)
    def remove_state_changed(self, token: typing.Union[windows_foundation.EventRegistrationToken, typing.Tuple[winrt.system.Int64]], /) -> None: ...
    # System.UInt32 Windows.Devices.Bluetooth.GenericAttributeProfile.GattReadRequest::get_Length()
    @_property
    def length(self) -> winrt.system.UInt32: ...
    # System.UInt32 Windows.Devices.Bluetooth.GenericAttributeProfile.GattReadRequest::get_Offset()
    @_property
    def offset(self) -> winrt.system.UInt32: ...
    # Windows.Devices.Bluetooth.GenericAttributeProfile.GattRequestState Windows.Devices.Bluetooth.GenericAttributeProfile.GattReadRequest::get_State()
    @_property
    def state(self) -> GattRequestState: ...

@typing.final
class GattReadRequestedEventArgs(winrt.system.Object):
    # Windows.Foundation.Deferral Windows.Devices.Bluetooth.GenericAttributeProfile.GattReadRequestedEventArgs::GetDeferral()
    def get_deferral(self) -> windows_foundation.Deferral: ...
    # Windows.Foundation.IAsyncOperation`1<Windows.Devices.Bluetooth.GenericAttributeProfile.GattReadRequest> Windows.Devices.Bluetooth.GenericAttributeProfile.GattReadRequestedEventArgs::GetRequestAsync()
    def get_request_async(self) -> windows_foundation.IAsyncOperation[GattReadRequest]: ...
    # Windows.Devices.Bluetooth.GenericAttributeProfile.GattSession Windows.Devices.Bluetooth.GenericAttributeProfile.GattReadRequestedEventArgs::get_Session()
    @_property
    def session(self) -> GattSession: ...

@typing.final
class GattReadResult(winrt.system.Object):
    # Windows.Devices.Bluetooth.GenericAttributeProfile.GattCommunicationStatus Windows.Devices.Bluetooth.GenericAttributeProfile.GattReadResult::get_Status()
    @_property
    def status(self) -> GattCommunicationStatus: ...
    # Windows.Storage.Streams.IBuffer Windows.Devices.Bluetooth.GenericAttributeProfile.GattReadResult::get_Value()
    @_property
    def value(self) -> windows_storage_streams.IBuffer: ...
    # Windows.Foundation.IReference`1<System.Byte> Windows.Devices.Bluetooth.GenericAttributeProfile.GattReadResult::get_ProtocolError()
    @_property
    def protocol_error(self) -> typing.Optional[winrt.system.UInt8]: ...

@typing.final
class GattReliableWriteTransaction(winrt.system.Object):
    def __new__(cls: typing.Type[Self]) -> Self: ...
    # Windows.Foundation.IAsyncOperation`1<Windows.Devices.Bluetooth.GenericAttributeProfile.GattCommunicationStatus> Windows.Devices.Bluetooth.GenericAttributeProfile.GattReliableWriteTransaction::CommitAsync()
    def commit_async(self) -> windows_foundation.IAsyncOperation[GattCommunicationStatus]: ...
    # Windows.Foundation.IAsyncOperation`1<Windows.Devices.Bluetooth.GenericAttributeProfile.GattWriteResult> Windows.Devices.Bluetooth.GenericAttributeProfile.GattReliableWriteTransaction::CommitWithResultAsync()
    def commit_with_result_async(self) -> windows_foundation.IAsyncOperation[GattWriteResult]: ...
    # System.Void Windows.Devices.Bluetooth.GenericAttributeProfile.GattReliableWriteTransaction::WriteValue(Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristic,Windows.Storage.Streams.IBuffer)
    def write_value(self, characteristic: GattCharacteristic, value: windows_storage_streams.IBuffer, /) -> None: ...

@typing.final
class GattRequestStateChangedEventArgs(winrt.system.Object):
    # Windows.Devices.Bluetooth.BluetoothError Windows.Devices.Bluetooth.GenericAttributeProfile.GattRequestStateChangedEventArgs::get_Error()
    @_property
    def error(self) -> windows_devices_bluetooth.BluetoothError: ...
    # Windows.Devices.Bluetooth.GenericAttributeProfile.GattRequestState Windows.Devices.Bluetooth.GenericAttributeProfile.GattRequestStateChangedEventArgs::get_State()
    @_property
    def state(self) -> GattRequestState: ...

@typing.final
class GattServiceProvider_Static(winrt._winrt.IInspectable_Static):
    # Windows.Foundation.IAsyncOperation`1<Windows.Devices.Bluetooth.GenericAttributeProfile.GattServiceProviderResult> Windows.Devices.Bluetooth.GenericAttributeProfile.GattServiceProvider::CreateAsync(System.Guid)
    def create_async(cls, service_uuid: _uuid.UUID, /) -> windows_foundation.IAsyncOperation[GattServiceProviderResult]: ...

@typing.final
class GattServiceProvider(winrt.system.Object, metaclass=GattServiceProvider_Static):
    # System.Void Windows.Devices.Bluetooth.GenericAttributeProfile.GattServiceProvider::StartAdvertising()
    def start_advertising(self) -> None: ...
    # System.Void Windows.Devices.Bluetooth.GenericAttributeProfile.GattServiceProvider::StartAdvertising(Windows.Devices.Bluetooth.GenericAttributeProfile.GattServiceProviderAdvertisingParameters)
    def start_advertising_with_parameters(self, parameters: GattServiceProviderAdvertisingParameters, /) -> None: ...
    # System.Void Windows.Devices.Bluetooth.GenericAttributeProfile.GattServiceProvider::StopAdvertising()
    def stop_advertising(self) -> None: ...
    # System.Void Windows.Devices.Bluetooth.GenericAttributeProfile.GattServiceProvider::UpdateAdvertisingParameters(Windows.Devices.Bluetooth.GenericAttributeProfile.GattServiceProviderAdvertisingParameters)
    def update_advertising_parameters(self, parameters: GattServiceProviderAdvertisingParameters, /) -> None: ...
    # Windows.Foundation.EventRegistrationToken Windows.Devices.Bluetooth.GenericAttributeProfile.GattServiceProvider::add_AdvertisementStatusChanged(Windows.Foundation.TypedEventHandler`2<Windows.Devices.Bluetooth.GenericAttributeProfile.GattServiceProvider,Windows.Devices.Bluetooth.GenericAttributeProfile.GattServiceProviderAdvertisementStatusChangedEventArgs>)
    def add_advertisement_status_changed(self, handler: windows_foundation.TypedEventHandler[GattServiceProvider, GattServiceProviderAdvertisementStatusChangedEventArgs], /) -> windows_foundation.EventRegistrationToken: ...
    # System.Void Windows.Devices.Bluetooth.GenericAttributeProfile.GattServiceProvider::remove_AdvertisementStatusChanged(Windows.Foundation.EventRegistrationToken)
    def remove_advertisement_status_changed(self, token: typing.Union[windows_foundation.EventRegistrationToken, typing.Tuple[winrt.system.Int64]], /) -> None: ...
    # Windows.Devices.Bluetooth.GenericAttributeProfile.GattServiceProviderAdvertisementStatus Windows.Devices.Bluetooth.GenericAttributeProfile.GattServiceProvider::get_AdvertisementStatus()
    @_property
    def advertisement_status(self) -> GattServiceProviderAdvertisementStatus: ...
    # Windows.Devices.Bluetooth.GenericAttributeProfile.GattLocalService Windows.Devices.Bluetooth.GenericAttributeProfile.GattServiceProvider::get_Service()
    @_property
    def service(self) -> GattLocalService: ...

@typing.final
class GattServiceProviderAdvertisementStatusChangedEventArgs(winrt.system.Object):
    # Windows.Devices.Bluetooth.BluetoothError Windows.Devices.Bluetooth.GenericAttributeProfile.GattServiceProviderAdvertisementStatusChangedEventArgs::get_Error()
    @_property
    def error(self) -> windows_devices_bluetooth.BluetoothError: ...
    # Windows.Devices.Bluetooth.GenericAttributeProfile.GattServiceProviderAdvertisementStatus Windows.Devices.Bluetooth.GenericAttributeProfile.GattServiceProviderAdvertisementStatusChangedEventArgs::get_Status()
    @_property
    def status(self) -> GattServiceProviderAdvertisementStatus: ...

@typing.final
class GattServiceProviderAdvertisingParameters(winrt.system.Object):
    def __new__(cls: typing.Type[Self]) -> Self: ...
    # System.Boolean Windows.Devices.Bluetooth.GenericAttributeProfile.GattServiceProviderAdvertisingParameters::get_IsDiscoverable()
    @_property
    def is_discoverable(self) -> bool: ...
    # System.Void Windows.Devices.Bluetooth.GenericAttributeProfile.GattServiceProviderAdvertisingParameters::put_IsDiscoverable(System.Boolean)
    @is_discoverable.setter
    def is_discoverable(self, value: bool) -> None: ...
    # System.Boolean Windows.Devices.Bluetooth.GenericAttributeProfile.GattServiceProviderAdvertisingParameters::get_IsConnectable()
    @_property
    def is_connectable(self) -> bool: ...
    # System.Void Windows.Devices.Bluetooth.GenericAttributeProfile.GattServiceProviderAdvertisingParameters::put_IsConnectable(System.Boolean)
    @is_connectable.setter
    def is_connectable(self, value: bool) -> None: ...
    # Windows.Storage.Streams.IBuffer Windows.Devices.Bluetooth.GenericAttributeProfile.GattServiceProviderAdvertisingParameters::get_ServiceData()
    @_property
    def service_data(self) -> windows_storage_streams.IBuffer: ...
    # System.Void Windows.Devices.Bluetooth.GenericAttributeProfile.GattServiceProviderAdvertisingParameters::put_ServiceData(Windows.Storage.Streams.IBuffer)
    @service_data.setter
    def service_data(self, value: windows_storage_streams.IBuffer) -> None: ...
    # System.Boolean Windows.Devices.Bluetooth.GenericAttributeProfile.GattServiceProviderAdvertisingParameters::get_UseLowEnergyUncoded2MPhyAsSecondaryPhy()
    @_property
    def use_low_energy_uncoded2_m_phy_as_secondary_phy(self) -> bool: ...
    # System.Void Windows.Devices.Bluetooth.GenericAttributeProfile.GattServiceProviderAdvertisingParameters::put_UseLowEnergyUncoded2MPhyAsSecondaryPhy(System.Boolean)
    @use_low_energy_uncoded2_m_phy_as_secondary_phy.setter
    def use_low_energy_uncoded2_m_phy_as_secondary_phy(self, value: bool) -> None: ...
    # System.Boolean Windows.Devices.Bluetooth.GenericAttributeProfile.GattServiceProviderAdvertisingParameters::get_UseLowEnergyUncoded1MPhyAsSecondaryPhy()
    @_property
    def use_low_energy_uncoded1_m_phy_as_secondary_phy(self) -> bool: ...
    # System.Void Windows.Devices.Bluetooth.GenericAttributeProfile.GattServiceProviderAdvertisingParameters::put_UseLowEnergyUncoded1MPhyAsSecondaryPhy(System.Boolean)
    @use_low_energy_uncoded1_m_phy_as_secondary_phy.setter
    def use_low_energy_uncoded1_m_phy_as_secondary_phy(self, value: bool) -> None: ...

@typing.final
class GattServiceProviderResult(winrt.system.Object):
    # Windows.Devices.Bluetooth.BluetoothError Windows.Devices.Bluetooth.GenericAttributeProfile.GattServiceProviderResult::get_Error()
    @_property
    def error(self) -> windows_devices_bluetooth.BluetoothError: ...
    # Windows.Devices.Bluetooth.GenericAttributeProfile.GattServiceProvider Windows.Devices.Bluetooth.GenericAttributeProfile.GattServiceProviderResult::get_ServiceProvider()
    @_property
    def service_provider(self) -> GattServiceProvider: ...

@typing.final
class GattServiceUuids_Static(winrt._winrt.IInspectable_Static):
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattServiceUuids::get_Battery()
    @_property
    def battery(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattServiceUuids::get_BloodPressure()
    @_property
    def blood_pressure(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattServiceUuids::get_CyclingSpeedAndCadence()
    @_property
    def cycling_speed_and_cadence(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattServiceUuids::get_GenericAccess()
    @_property
    def generic_access(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattServiceUuids::get_GenericAttribute()
    @_property
    def generic_attribute(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattServiceUuids::get_Glucose()
    @_property
    def glucose(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattServiceUuids::get_HealthThermometer()
    @_property
    def health_thermometer(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattServiceUuids::get_HeartRate()
    @_property
    def heart_rate(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattServiceUuids::get_RunningSpeedAndCadence()
    @_property
    def running_speed_and_cadence(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattServiceUuids::get_AlertNotification()
    @_property
    def alert_notification(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattServiceUuids::get_CurrentTime()
    @_property
    def current_time(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattServiceUuids::get_CyclingPower()
    @_property
    def cycling_power(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattServiceUuids::get_DeviceInformation()
    @_property
    def device_information(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattServiceUuids::get_HumanInterfaceDevice()
    @_property
    def human_interface_device(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattServiceUuids::get_ImmediateAlert()
    @_property
    def immediate_alert(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattServiceUuids::get_LinkLoss()
    @_property
    def link_loss(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattServiceUuids::get_LocationAndNavigation()
    @_property
    def location_and_navigation(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattServiceUuids::get_NextDstChange()
    @_property
    def next_dst_change(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattServiceUuids::get_PhoneAlertStatus()
    @_property
    def phone_alert_status(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattServiceUuids::get_ReferenceTimeUpdate()
    @_property
    def reference_time_update(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattServiceUuids::get_ScanParameters()
    @_property
    def scan_parameters(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Devices.Bluetooth.GenericAttributeProfile.GattServiceUuids::get_TxPower()
    @_property
    def tx_power(cls) -> _uuid.UUID: ...

@typing.final
class GattServiceUuids(winrt.system.Object, metaclass=GattServiceUuids_Static):
    pass

@typing.final
class GattSession_Static(winrt._winrt.IInspectable_Static):
    # Windows.Foundation.IAsyncOperation`1<Windows.Devices.Bluetooth.GenericAttributeProfile.GattSession> Windows.Devices.Bluetooth.GenericAttributeProfile.GattSession::FromDeviceIdAsync(Windows.Devices.Bluetooth.BluetoothDeviceId)
    def from_device_id_async(cls, device_id: windows_devices_bluetooth.BluetoothDeviceId, /) -> windows_foundation.IAsyncOperation[GattSession]: ...

@typing.final
class GattSession(winrt.system.Object, windows_foundation.IClosable, metaclass=GattSession_Static):
    def __enter__(self: Self) -> Self: ...
    def __exit__(self, exc_type: typing.Optional[typing.Type[BaseException]], exc_value: typing.Optional[BaseException], traceback: typing.Optional[types.TracebackType]) -> None: ...
    # System.Void Windows.Devices.Bluetooth.GenericAttributeProfile.GattSession::Close()
    def close(self) -> None: ...
    # Windows.Foundation.EventRegistrationToken Windows.Devices.Bluetooth.GenericAttributeProfile.GattSession::add_MaxPduSizeChanged(Windows.Foundation.TypedEventHandler`2<Windows.Devices.Bluetooth.GenericAttributeProfile.GattSession,System.Object>)
    def add_max_pdu_size_changed(self, handler: windows_foundation.TypedEventHandler[GattSession, winrt.system.Object], /) -> windows_foundation.EventRegistrationToken: ...
    # System.Void Windows.Devices.Bluetooth.GenericAttributeProfile.GattSession::remove_MaxPduSizeChanged(Windows.Foundation.EventRegistrationToken)
    def remove_max_pdu_size_changed(self, token: typing.Union[windows_foundation.EventRegistrationToken, typing.Tuple[winrt.system.Int64]], /) -> None: ...
    # Windows.Foundation.EventRegistrationToken Windows.Devices.Bluetooth.GenericAttributeProfile.GattSession::add_SessionStatusChanged(Windows.Foundation.TypedEventHandler`2<Windows.Devices.Bluetooth.GenericAttributeProfile.GattSession,Windows.Devices.Bluetooth.GenericAttributeProfile.GattSessionStatusChangedEventArgs>)
    def add_session_status_changed(self, handler: windows_foundation.TypedEventHandler[GattSession, GattSessionStatusChangedEventArgs], /) -> windows_foundation.EventRegistrationToken: ...
    # System.Void Windows.Devices.Bluetooth.GenericAttributeProfile.GattSession::remove_SessionStatusChanged(Windows.Foundation.EventRegistrationToken)
    def remove_session_status_changed(self, token: typing.Union[windows_foundation.EventRegistrationToken, typing.Tuple[winrt.system.Int64]], /) -> None: ...
    # System.Boolean Windows.Devices.Bluetooth.GenericAttributeProfile.GattSession::get_MaintainConnection()
    @_property
    def maintain_connection(self) -> bool: ...
    # System.Void Windows.Devices.Bluetooth.GenericAttributeProfile.GattSession::put_MaintainConnection(System.Boolean)
    @maintain_connection.setter
    def maintain_connection(self, value: bool) -> None: ...
    # System.Boolean Windows.Devices.Bluetooth.GenericAttributeProfile.GattSession::get_CanMaintainConnection()
    @_property
    def can_maintain_connection(self) -> bool: ...
    # Windows.Devices.Bluetooth.BluetoothDeviceId Windows.Devices.Bluetooth.GenericAttributeProfile.GattSession::get_DeviceId()
    @_property
    def device_id(self) -> windows_devices_bluetooth.BluetoothDeviceId: ...
    # System.UInt16 Windows.Devices.Bluetooth.GenericAttributeProfile.GattSession::get_MaxPduSize()
    @_property
    def max_pdu_size(self) -> winrt.system.UInt16: ...
    # Windows.Devices.Bluetooth.GenericAttributeProfile.GattSessionStatus Windows.Devices.Bluetooth.GenericAttributeProfile.GattSession::get_SessionStatus()
    @_property
    def session_status(self) -> GattSessionStatus: ...

@typing.final
class GattSessionStatusChangedEventArgs(winrt.system.Object):
    # Windows.Devices.Bluetooth.BluetoothError Windows.Devices.Bluetooth.GenericAttributeProfile.GattSessionStatusChangedEventArgs::get_Error()
    @_property
    def error(self) -> windows_devices_bluetooth.BluetoothError: ...
    # Windows.Devices.Bluetooth.GenericAttributeProfile.GattSessionStatus Windows.Devices.Bluetooth.GenericAttributeProfile.GattSessionStatusChangedEventArgs::get_Status()
    @_property
    def status(self) -> GattSessionStatus: ...

@typing.final
class GattSubscribedClient(winrt.system.Object):
    # Windows.Foundation.EventRegistrationToken Windows.Devices.Bluetooth.GenericAttributeProfile.GattSubscribedClient::add_MaxNotificationSizeChanged(Windows.Foundation.TypedEventHandler`2<Windows.Devices.Bluetooth.GenericAttributeProfile.GattSubscribedClient,System.Object>)
    def add_max_notification_size_changed(self, handler: windows_foundation.TypedEventHandler[GattSubscribedClient, winrt.system.Object], /) -> windows_foundation.EventRegistrationToken: ...
    # System.Void Windows.Devices.Bluetooth.GenericAttributeProfile.GattSubscribedClient::remove_MaxNotificationSizeChanged(Windows.Foundation.EventRegistrationToken)
    def remove_max_notification_size_changed(self, token: typing.Union[windows_foundation.EventRegistrationToken, typing.Tuple[winrt.system.Int64]], /) -> None: ...
    # System.UInt16 Windows.Devices.Bluetooth.GenericAttributeProfile.GattSubscribedClient::get_MaxNotificationSize()
    @_property
    def max_notification_size(self) -> winrt.system.UInt16: ...
    # Windows.Devices.Bluetooth.GenericAttributeProfile.GattSession Windows.Devices.Bluetooth.GenericAttributeProfile.GattSubscribedClient::get_Session()
    @_property
    def session(self) -> GattSession: ...

@typing.final
class GattValueChangedEventArgs(winrt.system.Object):
    # Windows.Storage.Streams.IBuffer Windows.Devices.Bluetooth.GenericAttributeProfile.GattValueChangedEventArgs::get_CharacteristicValue()
    @_property
    def characteristic_value(self) -> windows_storage_streams.IBuffer: ...
    # Windows.Foundation.DateTime Windows.Devices.Bluetooth.GenericAttributeProfile.GattValueChangedEventArgs::get_Timestamp()
    @_property
    def timestamp(self) -> datetime.datetime: ...

@typing.final
class GattWriteRequest(winrt.system.Object):
    # System.Void Windows.Devices.Bluetooth.GenericAttributeProfile.GattWriteRequest::Respond()
    def respond(self) -> None: ...
    # System.Void Windows.Devices.Bluetooth.GenericAttributeProfile.GattWriteRequest::RespondWithProtocolError(System.Byte)
    def respond_with_protocol_error(self, protocol_error: winrt.system.UInt8, /) -> None: ...
    # Windows.Foundation.EventRegistrationToken Windows.Devices.Bluetooth.GenericAttributeProfile.GattWriteRequest::add_StateChanged(Windows.Foundation.TypedEventHandler`2<Windows.Devices.Bluetooth.GenericAttributeProfile.GattWriteRequest,Windows.Devices.Bluetooth.GenericAttributeProfile.GattRequestStateChangedEventArgs>)
    def add_state_changed(self, handler: windows_foundation.TypedEventHandler[GattWriteRequest, GattRequestStateChangedEventArgs], /) -> windows_foundation.EventRegistrationToken: ...
    # System.Void Windows.Devices.Bluetooth.GenericAttributeProfile.GattWriteRequest::remove_StateChanged(Windows.Foundation.EventRegistrationToken)
    def remove_state_changed(self, token: typing.Union[windows_foundation.EventRegistrationToken, typing.Tuple[winrt.system.Int64]], /) -> None: ...
    # System.UInt32 Windows.Devices.Bluetooth.GenericAttributeProfile.GattWriteRequest::get_Offset()
    @_property
    def offset(self) -> winrt.system.UInt32: ...
    # Windows.Devices.Bluetooth.GenericAttributeProfile.GattWriteOption Windows.Devices.Bluetooth.GenericAttributeProfile.GattWriteRequest::get_Option()
    @_property
    def option(self) -> GattWriteOption: ...
    # Windows.Devices.Bluetooth.GenericAttributeProfile.GattRequestState Windows.Devices.Bluetooth.GenericAttributeProfile.GattWriteRequest::get_State()
    @_property
    def state(self) -> GattRequestState: ...
    # Windows.Storage.Streams.IBuffer Windows.Devices.Bluetooth.GenericAttributeProfile.GattWriteRequest::get_Value()
    @_property
    def value(self) -> windows_storage_streams.IBuffer: ...

@typing.final
class GattWriteRequestedEventArgs(winrt.system.Object):
    # Windows.Foundation.Deferral Windows.Devices.Bluetooth.GenericAttributeProfile.GattWriteRequestedEventArgs::GetDeferral()
    def get_deferral(self) -> windows_foundation.Deferral: ...
    # Windows.Foundation.IAsyncOperation`1<Windows.Devices.Bluetooth.GenericAttributeProfile.GattWriteRequest> Windows.Devices.Bluetooth.GenericAttributeProfile.GattWriteRequestedEventArgs::GetRequestAsync()
    def get_request_async(self) -> windows_foundation.IAsyncOperation[GattWriteRequest]: ...
    # Windows.Devices.Bluetooth.GenericAttributeProfile.GattSession Windows.Devices.Bluetooth.GenericAttributeProfile.GattWriteRequestedEventArgs::get_Session()
    @_property
    def session(self) -> GattSession: ...

@typing.final
class GattWriteResult(winrt.system.Object):
    # Windows.Foundation.IReference`1<System.Byte> Windows.Devices.Bluetooth.GenericAttributeProfile.GattWriteResult::get_ProtocolError()
    @_property
    def protocol_error(self) -> typing.Optional[winrt.system.UInt8]: ...
    # Windows.Devices.Bluetooth.GenericAttributeProfile.GattCommunicationStatus Windows.Devices.Bluetooth.GenericAttributeProfile.GattWriteResult::get_Status()
    @_property
    def status(self) -> GattCommunicationStatus: ...

