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

from winrt.windows.graphics.display.core import HdmiDisplayColorSpace, HdmiDisplayHdrOption, HdmiDisplayPixelEncoding

Self = typing.TypeVar('Self')

@typing.final
class HdmiDisplayHdr2086Metadata:
    @_property
    def red_primary_x(self) -> winrt.system.UInt16: ...
    @_property
    def red_primary_y(self) -> winrt.system.UInt16: ...
    @_property
    def green_primary_x(self) -> winrt.system.UInt16: ...
    @_property
    def green_primary_y(self) -> winrt.system.UInt16: ...
    @_property
    def blue_primary_x(self) -> winrt.system.UInt16: ...
    @_property
    def blue_primary_y(self) -> winrt.system.UInt16: ...
    @_property
    def white_point_x(self) -> winrt.system.UInt16: ...
    @_property
    def white_point_y(self) -> winrt.system.UInt16: ...
    @_property
    def max_mastering_luminance(self) -> winrt.system.UInt16: ...
    @_property
    def min_mastering_luminance(self) -> winrt.system.UInt16: ...
    @_property
    def max_content_light_level(self) -> winrt.system.UInt16: ...
    @_property
    def max_frame_average_light_level(self) -> winrt.system.UInt16: ...
    def __new__(cls, red_primary_x: winrt.system.UInt16 = 0, red_primary_y: winrt.system.UInt16 = 0, green_primary_x: winrt.system.UInt16 = 0, green_primary_y: winrt.system.UInt16 = 0, blue_primary_x: winrt.system.UInt16 = 0, blue_primary_y: winrt.system.UInt16 = 0, white_point_x: winrt.system.UInt16 = 0, white_point_y: winrt.system.UInt16 = 0, max_mastering_luminance: winrt.system.UInt16 = 0, min_mastering_luminance: winrt.system.UInt16 = 0, max_content_light_level: winrt.system.UInt16 = 0, max_frame_average_light_level: winrt.system.UInt16 = 0) -> HdmiDisplayHdr2086Metadata: ...
    def __replace__(self, /, **changes: typing.Any) -> HdmiDisplayHdr2086Metadata: ...
    def unpack(self) -> typing.Tuple[winrt.system.UInt16, winrt.system.UInt16, winrt.system.UInt16, winrt.system.UInt16, winrt.system.UInt16, winrt.system.UInt16, winrt.system.UInt16, winrt.system.UInt16, winrt.system.UInt16, winrt.system.UInt16, winrt.system.UInt16, winrt.system.UInt16]: ...

@typing.final
class HdmiDisplayInformation_Static(winrt._winrt.IInspectable_Static):
    # Windows.Graphics.Display.Core.HdmiDisplayInformation Windows.Graphics.Display.Core.HdmiDisplayInformation::GetForCurrentView()
    def get_for_current_view(cls) -> HdmiDisplayInformation: ...

@typing.final
class HdmiDisplayInformation(winrt.system.Object, metaclass=HdmiDisplayInformation_Static):
    # Windows.Graphics.Display.Core.HdmiDisplayMode Windows.Graphics.Display.Core.HdmiDisplayInformation::GetCurrentDisplayMode()
    def get_current_display_mode(self) -> HdmiDisplayMode: ...
    # Windows.Foundation.Collections.IVectorView`1<Windows.Graphics.Display.Core.HdmiDisplayMode> Windows.Graphics.Display.Core.HdmiDisplayInformation::GetSupportedDisplayModes()
    def get_supported_display_modes(self) -> typing.Sequence[HdmiDisplayMode]: ...
    # Windows.Foundation.IAsyncOperation`1<System.Boolean> Windows.Graphics.Display.Core.HdmiDisplayInformation::RequestSetCurrentDisplayModeAsync(Windows.Graphics.Display.Core.HdmiDisplayMode)
    def request_set_current_display_mode_async(self, mode: HdmiDisplayMode, /) -> windows_foundation.IAsyncOperation[bool]: ...
    # Windows.Foundation.IAsyncOperation`1<System.Boolean> Windows.Graphics.Display.Core.HdmiDisplayInformation::RequestSetCurrentDisplayModeAsync(Windows.Graphics.Display.Core.HdmiDisplayMode,Windows.Graphics.Display.Core.HdmiDisplayHdrOption,Windows.Graphics.Display.Core.HdmiDisplayHdr2086Metadata)
    def request_set_current_display_mode_with_hdr_and_metadata_async(self, mode: HdmiDisplayMode, hdr_option: HdmiDisplayHdrOption, hdr_metadata: typing.Union[HdmiDisplayHdr2086Metadata, typing.Tuple[winrt.system.UInt16, winrt.system.UInt16, winrt.system.UInt16, winrt.system.UInt16, winrt.system.UInt16, winrt.system.UInt16, winrt.system.UInt16, winrt.system.UInt16, winrt.system.UInt16, winrt.system.UInt16, winrt.system.UInt16, winrt.system.UInt16]], /) -> windows_foundation.IAsyncOperation[bool]: ...
    # Windows.Foundation.IAsyncOperation`1<System.Boolean> Windows.Graphics.Display.Core.HdmiDisplayInformation::RequestSetCurrentDisplayModeAsync(Windows.Graphics.Display.Core.HdmiDisplayMode,Windows.Graphics.Display.Core.HdmiDisplayHdrOption)
    def request_set_current_display_mode_with_hdr_async(self, mode: HdmiDisplayMode, hdr_option: HdmiDisplayHdrOption, /) -> windows_foundation.IAsyncOperation[bool]: ...
    # Windows.Foundation.IAsyncAction Windows.Graphics.Display.Core.HdmiDisplayInformation::SetDefaultDisplayModeAsync()
    def set_default_display_mode_async(self) -> windows_foundation.IAsyncAction: ...
    # Windows.Foundation.EventRegistrationToken Windows.Graphics.Display.Core.HdmiDisplayInformation::add_DisplayModesChanged(Windows.Foundation.TypedEventHandler`2<Windows.Graphics.Display.Core.HdmiDisplayInformation,System.Object>)
    def add_display_modes_changed(self, value: windows_foundation.TypedEventHandler[HdmiDisplayInformation, winrt.system.Object], /) -> windows_foundation.EventRegistrationToken: ...
    # System.Void Windows.Graphics.Display.Core.HdmiDisplayInformation::remove_DisplayModesChanged(Windows.Foundation.EventRegistrationToken)
    def remove_display_modes_changed(self, token: typing.Union[windows_foundation.EventRegistrationToken, typing.Tuple[winrt.system.Int64]], /) -> None: ...

@typing.final
class HdmiDisplayMode(winrt.system.Object):
    # System.Boolean Windows.Graphics.Display.Core.HdmiDisplayMode::IsEqual(Windows.Graphics.Display.Core.HdmiDisplayMode)
    def is_equal(self, mode: HdmiDisplayMode, /) -> bool: ...
    # System.UInt16 Windows.Graphics.Display.Core.HdmiDisplayMode::get_BitsPerPixel()
    @_property
    def bits_per_pixel(self) -> winrt.system.UInt16: ...
    # Windows.Graphics.Display.Core.HdmiDisplayColorSpace Windows.Graphics.Display.Core.HdmiDisplayMode::get_ColorSpace()
    @_property
    def color_space(self) -> HdmiDisplayColorSpace: ...
    # System.Boolean Windows.Graphics.Display.Core.HdmiDisplayMode::get_Is2086MetadataSupported()
    @_property
    def is2086_metadata_supported(self) -> bool: ...
    # System.Boolean Windows.Graphics.Display.Core.HdmiDisplayMode::get_IsSdrLuminanceSupported()
    @_property
    def is_sdr_luminance_supported(self) -> bool: ...
    # System.Boolean Windows.Graphics.Display.Core.HdmiDisplayMode::get_IsSmpte2084Supported()
    @_property
    def is_smpte2084_supported(self) -> bool: ...
    # Windows.Graphics.Display.Core.HdmiDisplayPixelEncoding Windows.Graphics.Display.Core.HdmiDisplayMode::get_PixelEncoding()
    @_property
    def pixel_encoding(self) -> HdmiDisplayPixelEncoding: ...
    # System.Double Windows.Graphics.Display.Core.HdmiDisplayMode::get_RefreshRate()
    @_property
    def refresh_rate(self) -> winrt.system.Double: ...
    # System.UInt32 Windows.Graphics.Display.Core.HdmiDisplayMode::get_ResolutionHeightInRawPixels()
    @_property
    def resolution_height_in_raw_pixels(self) -> winrt.system.UInt32: ...
    # System.UInt32 Windows.Graphics.Display.Core.HdmiDisplayMode::get_ResolutionWidthInRawPixels()
    @_property
    def resolution_width_in_raw_pixels(self) -> winrt.system.UInt32: ...
    # System.Boolean Windows.Graphics.Display.Core.HdmiDisplayMode::get_StereoEnabled()
    @_property
    def stereo_enabled(self) -> bool: ...
    # System.Boolean Windows.Graphics.Display.Core.HdmiDisplayMode::get_IsDolbyVisionLowLatencySupported()
    @_property
    def is_dolby_vision_low_latency_supported(self) -> bool: ...

