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

import enum
import datetime
import sys
import types
import typing

import winsdk._winrt as _winrt
import winsdk.windows.foundation.collections

class ProviderAdcChannelMode(enum.IntEnum):
    SINGLE_ENDED = 0
    DIFFERENTIAL = 1

Self = typing.TypeVar('Self')

class IAdcControllerProvider(_winrt.Object):
    channel_count: _winrt.Int32
    channel_mode: ProviderAdcChannelMode
    max_value: _winrt.Int32
    min_value: _winrt.Int32
    resolution_in_bits: _winrt.Int32
    @staticmethod
    def _from(obj: _winrt.Object) -> IAdcControllerProvider: ...
    def acquire_channel(self, channel: _winrt.Int32) -> None: ...
    def is_channel_mode_supported(self, channel_mode: ProviderAdcChannelMode) -> _winrt.Boolean: ...
    def read_value(self, channel_number: _winrt.Int32) -> _winrt.Int32: ...
    def release_channel(self, channel: _winrt.Int32) -> None: ...

class IAdcProvider(_winrt.Object):
    @staticmethod
    def _from(obj: _winrt.Object) -> IAdcProvider: ...
    def get_controllers(self) -> typing.Optional[winsdk.windows.foundation.collections.IVectorView[IAdcControllerProvider]]: ...

