# WARNING: Please don't edit this file. It was generated by Python/WinRT v2.3.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.adc.provider as windows_devices_adc_provider
import winrt.windows.foundation as windows_foundation
import winrt.windows.foundation.collections as windows_foundation_collections

from winrt.windows.devices.adc import AdcChannelMode

Self = typing.TypeVar('Self')

@typing.final
class AdcChannel(winrt.system.Object):
    def __enter__(self: Self) -> Self: ...
    def __exit__(self, *args) -> None: ...
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> AdcChannel: ...
    def close(self) -> None: ...
    def read_ratio(self) -> winrt.system.Double: ...
    def read_value(self) -> winrt.system.Int32: ...
    @_property
    def controller(self) -> typing.Optional[AdcController]: ...

@typing.final
class AdcController_Static(type):
    def get_controllers_async(cls, provider: typing.Optional[windows_devices_adc_provider.IAdcProvider], /) -> windows_foundation.IAsyncOperation[windows_foundation_collections.IVectorView[AdcController]]: ...
    def get_default_async(cls) -> windows_foundation.IAsyncOperation[AdcController]: ...

@typing.final
class AdcController(winrt.system.Object, metaclass=AdcController_Static):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> AdcController: ...
    def is_channel_mode_supported(self, channel_mode: AdcChannelMode, /) -> bool: ...
    def open_channel(self, channel_number: winrt.system.Int32, /) -> typing.Optional[AdcChannel]: ...
    @_property
    def channel_mode(self) -> AdcChannelMode: ...
    @channel_mode.setter
    def channel_mode(self, value: AdcChannelMode) -> None: ...
    @_property
    def channel_count(self) -> winrt.system.Int32: ...
    @_property
    def max_value(self) -> winrt.system.Int32: ...
    @_property
    def min_value(self) -> winrt.system.Int32: ...
    @_property
    def resolution_in_bits(self) -> winrt.system.Int32: ...

