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

import datetime
import sys
import types
import typing

import winsdk.system
import winsdk.windows.foundation
import winsdk.windows.foundation.collections

Self = typing.TypeVar('Self')

class CustomSensor(winsdk.system.Object):
    report_interval: winsdk.system.UInt32
    device_id: str
    minimum_report_interval: winsdk.system.UInt32
    report_latency: winsdk.system.UInt32
    max_batch_size: winsdk.system.UInt32
    @staticmethod
    def _from(obj: winsdk.system.Object, /) -> CustomSensor: ...
    @staticmethod
    def from_id_async(sensor_id: str, /) -> winsdk.windows.foundation.IAsyncOperation[CustomSensor]: ...
    def get_current_reading(self) -> typing.Optional[CustomSensorReading]: ...
    @staticmethod
    def get_device_selector(interface_id: winsdk.system.Guid, /) -> str: ...
    def add_reading_changed(self, handler: winsdk.windows.foundation.TypedEventHandler[CustomSensor, CustomSensorReadingChangedEventArgs], /) -> winsdk.windows.foundation.EventRegistrationToken: ...
    def remove_reading_changed(self, token: winsdk.windows.foundation.EventRegistrationToken, /) -> None: ...

class CustomSensorReading(winsdk.system.Object):
    properties: typing.Optional[winsdk.windows.foundation.collections.IMapView[str, winsdk.system.Object]]
    timestamp: datetime.datetime
    performance_count: typing.Optional[typing.Optional[datetime.timedelta]]
    @staticmethod
    def _from(obj: winsdk.system.Object, /) -> CustomSensorReading: ...

class CustomSensorReadingChangedEventArgs(winsdk.system.Object):
    reading: typing.Optional[CustomSensorReading]
    @staticmethod
    def _from(obj: winsdk.system.Object, /) -> CustomSensorReadingChangedEventArgs: ...

