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

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

import winrt._winrt
import winrt.system
import winrt.windows.foundation.collections

from winrt.windows.devices.adc.provider import ProviderAdcChannelMode

Self = typing.TypeVar('Self')

@typing.final
class IAdcControllerProvider(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> IAdcControllerProvider: ...
    def acquire_channel(self, channel: winrt.system.Int32, /) -> None: ...
    def is_channel_mode_supported(self, channel_mode: ProviderAdcChannelMode, /) -> bool: ...
    def read_value(self, channel_number: winrt.system.Int32, /) -> winrt.system.Int32: ...
    def release_channel(self, channel: winrt.system.Int32, /) -> None: ...
    @_property
    def channel_count(self) -> winrt.system.Int32: ...
    @_property
    def channel_mode(self) -> ProviderAdcChannelMode: ...
    @channel_mode.setter
    def channel_mode(self, value: ProviderAdcChannelMode) -> None: ...
    @_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: ...

@typing.final
class IAdcProvider(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> IAdcProvider: ...
    def get_controllers(self) -> typing.Optional[winrt.windows.foundation.collections.IVectorView[IAdcControllerProvider]]: ...

