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

import enum
import datetime
import sys
import types
import typing

import winsdk.system
import winsdk.windows.foundation
import winsdk.windows.graphics

class DisplayMonitorConnectionKind(enum.IntEnum):
    INTERNAL = 0
    WIRED = 1
    WIRELESS = 2
    VIRTUAL = 3

class DisplayMonitorDescriptorKind(enum.IntEnum):
    EDID = 0
    DISPLAY_ID = 1

class DisplayMonitorPhysicalConnectorKind(enum.IntEnum):
    UNKNOWN = 0
    H_D15 = 1
    ANALOG_T_V = 2
    DVI = 3
    HDMI = 4
    LVDS = 5
    SDI = 6
    DISPLAY_PORT = 7

class DisplayMonitorUsageKind(enum.IntEnum):
    STANDARD = 0
    HEAD_MOUNTED = 1
    SPECIAL_PURPOSE = 2

Self = typing.TypeVar('Self')

class DisplayMonitor(winsdk.system.Object):
    blue_primary: winsdk.windows.foundation.Point
    connection_kind: DisplayMonitorConnectionKind
    device_id: str
    display_adapter_device_id: str
    display_adapter_id: winsdk.windows.graphics.DisplayAdapterId
    display_adapter_target_id: winsdk.system.UInt32
    display_name: str
    green_primary: winsdk.windows.foundation.Point
    max_average_full_frame_luminance_in_nits: winsdk.system.Single
    max_luminance_in_nits: winsdk.system.Single
    min_luminance_in_nits: winsdk.system.Single
    native_resolution_in_raw_pixels: winsdk.windows.graphics.SizeInt32
    physical_connector: DisplayMonitorPhysicalConnectorKind
    physical_size_in_inches: typing.Optional[typing.Optional[winsdk.windows.foundation.Size]]
    raw_dpi_x: winsdk.system.Single
    raw_dpi_y: winsdk.system.Single
    red_primary: winsdk.windows.foundation.Point
    usage_kind: DisplayMonitorUsageKind
    white_point: winsdk.windows.foundation.Point
    is_dolby_vision_supported_in_hdr_mode: winsdk.system.Boolean
    @staticmethod
    def _from(obj: winsdk.system.Object, /) -> DisplayMonitor: ...
    @staticmethod
    def from_id_async(device_id: str, /) -> winsdk.windows.foundation.IAsyncOperation[DisplayMonitor]: ...
    @staticmethod
    def from_interface_id_async(device_interface_id: str, /) -> winsdk.windows.foundation.IAsyncOperation[DisplayMonitor]: ...
    def get_descriptor(self, descriptor_kind: DisplayMonitorDescriptorKind, /) -> winsdk.system.UInt8: ...
    @staticmethod
    def get_device_selector() -> str: ...

