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

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 as windows_foundation
import winrt.windows.graphics as windows_graphics

from winrt.windows.devices.display import DisplayMonitorConnectionKind, DisplayMonitorDescriptorKind, DisplayMonitorPhysicalConnectorKind, DisplayMonitorUsageKind

Self = typing.TypeVar('Self')

@typing.final
class DisplayMonitor_Static(winrt._winrt.IInspectable_Static):
    # Windows.Foundation.IAsyncOperation`1<Windows.Devices.Display.DisplayMonitor> Windows.Devices.Display.DisplayMonitor::FromIdAsync(System.String)
    def from_id_async(cls, device_id: str, /) -> windows_foundation.IAsyncOperation[DisplayMonitor]: ...
    # Windows.Foundation.IAsyncOperation`1<Windows.Devices.Display.DisplayMonitor> Windows.Devices.Display.DisplayMonitor::FromInterfaceIdAsync(System.String)
    def from_interface_id_async(cls, device_interface_id: str, /) -> windows_foundation.IAsyncOperation[DisplayMonitor]: ...
    # System.String Windows.Devices.Display.DisplayMonitor::GetDeviceSelector()
    def get_device_selector(cls) -> str: ...

@typing.final
class DisplayMonitor(winrt.system.Object, metaclass=DisplayMonitor_Static):
    # System.Byte[] Windows.Devices.Display.DisplayMonitor::GetDescriptor(Windows.Devices.Display.DisplayMonitorDescriptorKind)
    def get_descriptor(self, descriptor_kind: DisplayMonitorDescriptorKind, /) -> winrt.system.Array[winrt.system.UInt8]: ...
    # Windows.Foundation.Point Windows.Devices.Display.DisplayMonitor::get_BluePrimary()
    @_property
    def blue_primary(self) -> windows_foundation.Point: ...
    # Windows.Devices.Display.DisplayMonitorConnectionKind Windows.Devices.Display.DisplayMonitor::get_ConnectionKind()
    @_property
    def connection_kind(self) -> DisplayMonitorConnectionKind: ...
    # System.String Windows.Devices.Display.DisplayMonitor::get_DeviceId()
    @_property
    def device_id(self) -> str: ...
    # System.String Windows.Devices.Display.DisplayMonitor::get_DisplayAdapterDeviceId()
    @_property
    def display_adapter_device_id(self) -> str: ...
    # Windows.Graphics.DisplayAdapterId Windows.Devices.Display.DisplayMonitor::get_DisplayAdapterId()
    @_property
    def display_adapter_id(self) -> windows_graphics.DisplayAdapterId: ...
    # System.UInt32 Windows.Devices.Display.DisplayMonitor::get_DisplayAdapterTargetId()
    @_property
    def display_adapter_target_id(self) -> winrt.system.UInt32: ...
    # System.String Windows.Devices.Display.DisplayMonitor::get_DisplayName()
    @_property
    def display_name(self) -> str: ...
    # Windows.Foundation.Point Windows.Devices.Display.DisplayMonitor::get_GreenPrimary()
    @_property
    def green_primary(self) -> windows_foundation.Point: ...
    # System.Single Windows.Devices.Display.DisplayMonitor::get_MaxAverageFullFrameLuminanceInNits()
    @_property
    def max_average_full_frame_luminance_in_nits(self) -> winrt.system.Single: ...
    # System.Single Windows.Devices.Display.DisplayMonitor::get_MaxLuminanceInNits()
    @_property
    def max_luminance_in_nits(self) -> winrt.system.Single: ...
    # System.Single Windows.Devices.Display.DisplayMonitor::get_MinLuminanceInNits()
    @_property
    def min_luminance_in_nits(self) -> winrt.system.Single: ...
    # Windows.Graphics.SizeInt32 Windows.Devices.Display.DisplayMonitor::get_NativeResolutionInRawPixels()
    @_property
    def native_resolution_in_raw_pixels(self) -> windows_graphics.SizeInt32: ...
    # Windows.Devices.Display.DisplayMonitorPhysicalConnectorKind Windows.Devices.Display.DisplayMonitor::get_PhysicalConnector()
    @_property
    def physical_connector(self) -> DisplayMonitorPhysicalConnectorKind: ...
    # Windows.Foundation.IReference`1<Windows.Foundation.Size> Windows.Devices.Display.DisplayMonitor::get_PhysicalSizeInInches()
    @_property
    def physical_size_in_inches(self) -> typing.Optional[windows_foundation.Size]: ...
    # System.Single Windows.Devices.Display.DisplayMonitor::get_RawDpiX()
    @_property
    def raw_dpi_x(self) -> winrt.system.Single: ...
    # System.Single Windows.Devices.Display.DisplayMonitor::get_RawDpiY()
    @_property
    def raw_dpi_y(self) -> winrt.system.Single: ...
    # Windows.Foundation.Point Windows.Devices.Display.DisplayMonitor::get_RedPrimary()
    @_property
    def red_primary(self) -> windows_foundation.Point: ...
    # Windows.Devices.Display.DisplayMonitorUsageKind Windows.Devices.Display.DisplayMonitor::get_UsageKind()
    @_property
    def usage_kind(self) -> DisplayMonitorUsageKind: ...
    # Windows.Foundation.Point Windows.Devices.Display.DisplayMonitor::get_WhitePoint()
    @_property
    def white_point(self) -> windows_foundation.Point: ...
    # System.Boolean Windows.Devices.Display.DisplayMonitor::get_IsDolbyVisionSupportedInHdrMode()
    @_property
    def is_dolby_vision_supported_in_hdr_mode(self) -> bool: ...

