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

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

import winrt._winrt
import winrt.system
import winrt.windows.foundation as windows_foundation
import winrt.windows.ui as windows_ui
import winrt.windows.ui.xaml as windows_ui_xaml
import winrt.windows.ui.xaml.media as windows_ui_xaml_media
import winrt.windows.ui.xaml.media.media3d as windows_ui_xaml_media_media3d

from winrt.windows.ui.xaml.core.direct import XamlEventIndex, XamlPropertyIndex, XamlTypeIndex

Self = typing.TypeVar('Self')

@typing.final
class XamlDirect_Static(winrt._winrt.IInspectable_Static):
    # Windows.UI.Xaml.Core.Direct.XamlDirect Windows.UI.Xaml.Core.Direct.XamlDirect::GetDefault()
    def get_default(cls) -> XamlDirect: ...

@typing.final
class XamlDirect(winrt.system.Object, metaclass=XamlDirect_Static):
    # System.Void Windows.UI.Xaml.Core.Direct.XamlDirect::AddEventHandler(Windows.UI.Xaml.Core.Direct.IXamlDirectObject,Windows.UI.Xaml.Core.Direct.XamlEventIndex,System.Object)
    def add_event_handler(self, xaml_direct_object: IXamlDirectObject, event_index: XamlEventIndex, handler: winrt.system.Object, /) -> None: ...
    # System.Void Windows.UI.Xaml.Core.Direct.XamlDirect::AddEventHandler(Windows.UI.Xaml.Core.Direct.IXamlDirectObject,Windows.UI.Xaml.Core.Direct.XamlEventIndex,System.Object,System.Boolean)
    def add_event_handler_handled_events_too(self, xaml_direct_object: IXamlDirectObject, event_index: XamlEventIndex, handler: winrt.system.Object, handled_events_too: bool, /) -> None: ...
    # System.Void Windows.UI.Xaml.Core.Direct.XamlDirect::AddToCollection(Windows.UI.Xaml.Core.Direct.IXamlDirectObject,Windows.UI.Xaml.Core.Direct.IXamlDirectObject)
    def add_to_collection(self, xaml_direct_object: IXamlDirectObject, value: IXamlDirectObject, /) -> None: ...
    # System.Void Windows.UI.Xaml.Core.Direct.XamlDirect::ClearCollection(Windows.UI.Xaml.Core.Direct.IXamlDirectObject)
    def clear_collection(self, xaml_direct_object: IXamlDirectObject, /) -> None: ...
    # System.Void Windows.UI.Xaml.Core.Direct.XamlDirect::ClearProperty(Windows.UI.Xaml.Core.Direct.IXamlDirectObject,Windows.UI.Xaml.Core.Direct.XamlPropertyIndex)
    def clear_property(self, xaml_direct_object: IXamlDirectObject, property_index: XamlPropertyIndex, /) -> None: ...
    # Windows.UI.Xaml.Core.Direct.IXamlDirectObject Windows.UI.Xaml.Core.Direct.XamlDirect::CreateInstance(Windows.UI.Xaml.Core.Direct.XamlTypeIndex)
    def create_instance(self, type_index: XamlTypeIndex, /) -> IXamlDirectObject: ...
    # System.Boolean Windows.UI.Xaml.Core.Direct.XamlDirect::GetBooleanProperty(Windows.UI.Xaml.Core.Direct.IXamlDirectObject,Windows.UI.Xaml.Core.Direct.XamlPropertyIndex)
    def get_boolean_property(self, xaml_direct_object: IXamlDirectObject, property_index: XamlPropertyIndex, /) -> bool: ...
    # System.UInt32 Windows.UI.Xaml.Core.Direct.XamlDirect::GetCollectionCount(Windows.UI.Xaml.Core.Direct.IXamlDirectObject)
    def get_collection_count(self, xaml_direct_object: IXamlDirectObject, /) -> winrt.system.UInt32: ...
    # Windows.UI.Color Windows.UI.Xaml.Core.Direct.XamlDirect::GetColorProperty(Windows.UI.Xaml.Core.Direct.IXamlDirectObject,Windows.UI.Xaml.Core.Direct.XamlPropertyIndex)
    def get_color_property(self, xaml_direct_object: IXamlDirectObject, property_index: XamlPropertyIndex, /) -> windows_ui.Color: ...
    # Windows.UI.Xaml.CornerRadius Windows.UI.Xaml.Core.Direct.XamlDirect::GetCornerRadiusProperty(Windows.UI.Xaml.Core.Direct.IXamlDirectObject,Windows.UI.Xaml.Core.Direct.XamlPropertyIndex)
    def get_corner_radius_property(self, xaml_direct_object: IXamlDirectObject, property_index: XamlPropertyIndex, /) -> windows_ui_xaml.CornerRadius: ...
    # Windows.Foundation.DateTime Windows.UI.Xaml.Core.Direct.XamlDirect::GetDateTimeProperty(Windows.UI.Xaml.Core.Direct.IXamlDirectObject,Windows.UI.Xaml.Core.Direct.XamlPropertyIndex)
    def get_date_time_property(self, xaml_direct_object: IXamlDirectObject, property_index: XamlPropertyIndex, /) -> datetime.datetime: ...
    # System.Double Windows.UI.Xaml.Core.Direct.XamlDirect::GetDoubleProperty(Windows.UI.Xaml.Core.Direct.IXamlDirectObject,Windows.UI.Xaml.Core.Direct.XamlPropertyIndex)
    def get_double_property(self, xaml_direct_object: IXamlDirectObject, property_index: XamlPropertyIndex, /) -> winrt.system.Double: ...
    # Windows.UI.Xaml.Duration Windows.UI.Xaml.Core.Direct.XamlDirect::GetDurationProperty(Windows.UI.Xaml.Core.Direct.IXamlDirectObject,Windows.UI.Xaml.Core.Direct.XamlPropertyIndex)
    def get_duration_property(self, xaml_direct_object: IXamlDirectObject, property_index: XamlPropertyIndex, /) -> windows_ui_xaml.Duration: ...
    # System.UInt32 Windows.UI.Xaml.Core.Direct.XamlDirect::GetEnumProperty(Windows.UI.Xaml.Core.Direct.IXamlDirectObject,Windows.UI.Xaml.Core.Direct.XamlPropertyIndex)
    def get_enum_property(self, xaml_direct_object: IXamlDirectObject, property_index: XamlPropertyIndex, /) -> winrt.system.UInt32: ...
    # Windows.UI.Xaml.GridLength Windows.UI.Xaml.Core.Direct.XamlDirect::GetGridLengthProperty(Windows.UI.Xaml.Core.Direct.IXamlDirectObject,Windows.UI.Xaml.Core.Direct.XamlPropertyIndex)
    def get_grid_length_property(self, xaml_direct_object: IXamlDirectObject, property_index: XamlPropertyIndex, /) -> windows_ui_xaml.GridLength: ...
    # System.Int32 Windows.UI.Xaml.Core.Direct.XamlDirect::GetInt32Property(Windows.UI.Xaml.Core.Direct.IXamlDirectObject,Windows.UI.Xaml.Core.Direct.XamlPropertyIndex)
    def get_int32_property(self, xaml_direct_object: IXamlDirectObject, property_index: XamlPropertyIndex, /) -> winrt.system.Int32: ...
    # Windows.UI.Xaml.Media.Media3D.Matrix3D Windows.UI.Xaml.Core.Direct.XamlDirect::GetMatrix3DProperty(Windows.UI.Xaml.Core.Direct.IXamlDirectObject,Windows.UI.Xaml.Core.Direct.XamlPropertyIndex)
    def get_matrix_3d_property(self, xaml_direct_object: IXamlDirectObject, property_index: XamlPropertyIndex, /) -> windows_ui_xaml_media_media3d.Matrix3D: ...
    # Windows.UI.Xaml.Media.Matrix Windows.UI.Xaml.Core.Direct.XamlDirect::GetMatrixProperty(Windows.UI.Xaml.Core.Direct.IXamlDirectObject,Windows.UI.Xaml.Core.Direct.XamlPropertyIndex)
    def get_matrix_property(self, xaml_direct_object: IXamlDirectObject, property_index: XamlPropertyIndex, /) -> windows_ui_xaml_media.Matrix: ...
    # System.Object Windows.UI.Xaml.Core.Direct.XamlDirect::GetObject(Windows.UI.Xaml.Core.Direct.IXamlDirectObject)
    def get_object(self, xaml_direct_object: IXamlDirectObject, /) -> winrt.system.Object: ...
    # System.Object Windows.UI.Xaml.Core.Direct.XamlDirect::GetObjectProperty(Windows.UI.Xaml.Core.Direct.IXamlDirectObject,Windows.UI.Xaml.Core.Direct.XamlPropertyIndex)
    def get_object_property(self, xaml_direct_object: IXamlDirectObject, property_index: XamlPropertyIndex, /) -> winrt.system.Object: ...
    # Windows.Foundation.Point Windows.UI.Xaml.Core.Direct.XamlDirect::GetPointProperty(Windows.UI.Xaml.Core.Direct.IXamlDirectObject,Windows.UI.Xaml.Core.Direct.XamlPropertyIndex)
    def get_point_property(self, xaml_direct_object: IXamlDirectObject, property_index: XamlPropertyIndex, /) -> windows_foundation.Point: ...
    # Windows.Foundation.Rect Windows.UI.Xaml.Core.Direct.XamlDirect::GetRectProperty(Windows.UI.Xaml.Core.Direct.IXamlDirectObject,Windows.UI.Xaml.Core.Direct.XamlPropertyIndex)
    def get_rect_property(self, xaml_direct_object: IXamlDirectObject, property_index: XamlPropertyIndex, /) -> windows_foundation.Rect: ...
    # Windows.Foundation.Size Windows.UI.Xaml.Core.Direct.XamlDirect::GetSizeProperty(Windows.UI.Xaml.Core.Direct.IXamlDirectObject,Windows.UI.Xaml.Core.Direct.XamlPropertyIndex)
    def get_size_property(self, xaml_direct_object: IXamlDirectObject, property_index: XamlPropertyIndex, /) -> windows_foundation.Size: ...
    # System.String Windows.UI.Xaml.Core.Direct.XamlDirect::GetStringProperty(Windows.UI.Xaml.Core.Direct.IXamlDirectObject,Windows.UI.Xaml.Core.Direct.XamlPropertyIndex)
    def get_string_property(self, xaml_direct_object: IXamlDirectObject, property_index: XamlPropertyIndex, /) -> str: ...
    # Windows.UI.Xaml.Thickness Windows.UI.Xaml.Core.Direct.XamlDirect::GetThicknessProperty(Windows.UI.Xaml.Core.Direct.IXamlDirectObject,Windows.UI.Xaml.Core.Direct.XamlPropertyIndex)
    def get_thickness_property(self, xaml_direct_object: IXamlDirectObject, property_index: XamlPropertyIndex, /) -> windows_ui_xaml.Thickness: ...
    # Windows.Foundation.TimeSpan Windows.UI.Xaml.Core.Direct.XamlDirect::GetTimeSpanProperty(Windows.UI.Xaml.Core.Direct.IXamlDirectObject,Windows.UI.Xaml.Core.Direct.XamlPropertyIndex)
    def get_time_span_property(self, xaml_direct_object: IXamlDirectObject, property_index: XamlPropertyIndex, /) -> datetime.timedelta: ...
    # Windows.UI.Xaml.Core.Direct.IXamlDirectObject Windows.UI.Xaml.Core.Direct.XamlDirect::GetXamlDirectObject(System.Object)
    def get_xaml_direct_object(self, object: winrt.system.Object, /) -> IXamlDirectObject: ...
    # Windows.UI.Xaml.Core.Direct.IXamlDirectObject Windows.UI.Xaml.Core.Direct.XamlDirect::GetXamlDirectObjectFromCollectionAt(Windows.UI.Xaml.Core.Direct.IXamlDirectObject,System.UInt32)
    def get_xaml_direct_object_from_collection_at(self, xaml_direct_object: IXamlDirectObject, index: winrt.system.UInt32, /) -> IXamlDirectObject: ...
    # Windows.UI.Xaml.Core.Direct.IXamlDirectObject Windows.UI.Xaml.Core.Direct.XamlDirect::GetXamlDirectObjectProperty(Windows.UI.Xaml.Core.Direct.IXamlDirectObject,Windows.UI.Xaml.Core.Direct.XamlPropertyIndex)
    def get_xaml_direct_object_property(self, xaml_direct_object: IXamlDirectObject, property_index: XamlPropertyIndex, /) -> IXamlDirectObject: ...
    # System.Void Windows.UI.Xaml.Core.Direct.XamlDirect::InsertIntoCollectionAt(Windows.UI.Xaml.Core.Direct.IXamlDirectObject,System.UInt32,Windows.UI.Xaml.Core.Direct.IXamlDirectObject)
    def insert_into_collection_at(self, xaml_direct_object: IXamlDirectObject, index: winrt.system.UInt32, value: IXamlDirectObject, /) -> None: ...
    # System.Void Windows.UI.Xaml.Core.Direct.XamlDirect::RemoveEventHandler(Windows.UI.Xaml.Core.Direct.IXamlDirectObject,Windows.UI.Xaml.Core.Direct.XamlEventIndex,System.Object)
    def remove_event_handler(self, xaml_direct_object: IXamlDirectObject, event_index: XamlEventIndex, handler: winrt.system.Object, /) -> None: ...
    # System.Boolean Windows.UI.Xaml.Core.Direct.XamlDirect::RemoveFromCollection(Windows.UI.Xaml.Core.Direct.IXamlDirectObject,Windows.UI.Xaml.Core.Direct.IXamlDirectObject)
    def remove_from_collection(self, xaml_direct_object: IXamlDirectObject, value: IXamlDirectObject, /) -> bool: ...
    # System.Void Windows.UI.Xaml.Core.Direct.XamlDirect::RemoveFromCollectionAt(Windows.UI.Xaml.Core.Direct.IXamlDirectObject,System.UInt32)
    def remove_from_collection_at(self, xaml_direct_object: IXamlDirectObject, index: winrt.system.UInt32, /) -> None: ...
    # System.Void Windows.UI.Xaml.Core.Direct.XamlDirect::SetBooleanProperty(Windows.UI.Xaml.Core.Direct.IXamlDirectObject,Windows.UI.Xaml.Core.Direct.XamlPropertyIndex,System.Boolean)
    def set_boolean_property(self, xaml_direct_object: IXamlDirectObject, property_index: XamlPropertyIndex, value: bool, /) -> None: ...
    # System.Void Windows.UI.Xaml.Core.Direct.XamlDirect::SetColorProperty(Windows.UI.Xaml.Core.Direct.IXamlDirectObject,Windows.UI.Xaml.Core.Direct.XamlPropertyIndex,Windows.UI.Color)
    def set_color_property(self, xaml_direct_object: IXamlDirectObject, property_index: XamlPropertyIndex, value: typing.Union[windows_ui.Color, typing.Tuple[winrt.system.UInt8, winrt.system.UInt8, winrt.system.UInt8, winrt.system.UInt8]], /) -> None: ...
    # System.Void Windows.UI.Xaml.Core.Direct.XamlDirect::SetCornerRadiusProperty(Windows.UI.Xaml.Core.Direct.IXamlDirectObject,Windows.UI.Xaml.Core.Direct.XamlPropertyIndex,Windows.UI.Xaml.CornerRadius)
    def set_corner_radius_property(self, xaml_direct_object: IXamlDirectObject, property_index: XamlPropertyIndex, value: typing.Union[windows_ui_xaml.CornerRadius, typing.Tuple[winrt.system.Double, winrt.system.Double, winrt.system.Double, winrt.system.Double]], /) -> None: ...
    # System.Void Windows.UI.Xaml.Core.Direct.XamlDirect::SetDateTimeProperty(Windows.UI.Xaml.Core.Direct.IXamlDirectObject,Windows.UI.Xaml.Core.Direct.XamlPropertyIndex,Windows.Foundation.DateTime)
    def set_date_time_property(self, xaml_direct_object: IXamlDirectObject, property_index: XamlPropertyIndex, value: datetime.datetime, /) -> None: ...
    # System.Void Windows.UI.Xaml.Core.Direct.XamlDirect::SetDoubleProperty(Windows.UI.Xaml.Core.Direct.IXamlDirectObject,Windows.UI.Xaml.Core.Direct.XamlPropertyIndex,System.Double)
    def set_double_property(self, xaml_direct_object: IXamlDirectObject, property_index: XamlPropertyIndex, value: winrt.system.Double, /) -> None: ...
    # System.Void Windows.UI.Xaml.Core.Direct.XamlDirect::SetDurationProperty(Windows.UI.Xaml.Core.Direct.IXamlDirectObject,Windows.UI.Xaml.Core.Direct.XamlPropertyIndex,Windows.UI.Xaml.Duration)
    def set_duration_property(self, xaml_direct_object: IXamlDirectObject, property_index: XamlPropertyIndex, value: typing.Union[windows_ui_xaml.Duration, typing.Tuple[datetime.timedelta, windows_ui_xaml.DurationType]], /) -> None: ...
    # System.Void Windows.UI.Xaml.Core.Direct.XamlDirect::SetEnumProperty(Windows.UI.Xaml.Core.Direct.IXamlDirectObject,Windows.UI.Xaml.Core.Direct.XamlPropertyIndex,System.UInt32)
    def set_enum_property(self, xaml_direct_object: IXamlDirectObject, property_index: XamlPropertyIndex, value: winrt.system.UInt32, /) -> None: ...
    # System.Void Windows.UI.Xaml.Core.Direct.XamlDirect::SetGridLengthProperty(Windows.UI.Xaml.Core.Direct.IXamlDirectObject,Windows.UI.Xaml.Core.Direct.XamlPropertyIndex,Windows.UI.Xaml.GridLength)
    def set_grid_length_property(self, xaml_direct_object: IXamlDirectObject, property_index: XamlPropertyIndex, value: typing.Union[windows_ui_xaml.GridLength, typing.Tuple[winrt.system.Double, windows_ui_xaml.GridUnitType]], /) -> None: ...
    # System.Void Windows.UI.Xaml.Core.Direct.XamlDirect::SetInt32Property(Windows.UI.Xaml.Core.Direct.IXamlDirectObject,Windows.UI.Xaml.Core.Direct.XamlPropertyIndex,System.Int32)
    def set_int32_property(self, xaml_direct_object: IXamlDirectObject, property_index: XamlPropertyIndex, value: winrt.system.Int32, /) -> None: ...
    # System.Void Windows.UI.Xaml.Core.Direct.XamlDirect::SetMatrix3DProperty(Windows.UI.Xaml.Core.Direct.IXamlDirectObject,Windows.UI.Xaml.Core.Direct.XamlPropertyIndex,Windows.UI.Xaml.Media.Media3D.Matrix3D)
    def set_matrix_3d_property(self, xaml_direct_object: IXamlDirectObject, property_index: XamlPropertyIndex, value: typing.Union[windows_ui_xaml_media_media3d.Matrix3D, typing.Tuple[winrt.system.Double, winrt.system.Double, winrt.system.Double, winrt.system.Double, winrt.system.Double, winrt.system.Double, winrt.system.Double, winrt.system.Double, winrt.system.Double, winrt.system.Double, winrt.system.Double, winrt.system.Double, winrt.system.Double, winrt.system.Double, winrt.system.Double, winrt.system.Double]], /) -> None: ...
    # System.Void Windows.UI.Xaml.Core.Direct.XamlDirect::SetMatrixProperty(Windows.UI.Xaml.Core.Direct.IXamlDirectObject,Windows.UI.Xaml.Core.Direct.XamlPropertyIndex,Windows.UI.Xaml.Media.Matrix)
    def set_matrix_property(self, xaml_direct_object: IXamlDirectObject, property_index: XamlPropertyIndex, value: typing.Union[windows_ui_xaml_media.Matrix, typing.Tuple[winrt.system.Double, winrt.system.Double, winrt.system.Double, winrt.system.Double, winrt.system.Double, winrt.system.Double]], /) -> None: ...
    # System.Void Windows.UI.Xaml.Core.Direct.XamlDirect::SetObjectProperty(Windows.UI.Xaml.Core.Direct.IXamlDirectObject,Windows.UI.Xaml.Core.Direct.XamlPropertyIndex,System.Object)
    def set_object_property(self, xaml_direct_object: IXamlDirectObject, property_index: XamlPropertyIndex, value: winrt.system.Object, /) -> None: ...
    # System.Void Windows.UI.Xaml.Core.Direct.XamlDirect::SetPointProperty(Windows.UI.Xaml.Core.Direct.IXamlDirectObject,Windows.UI.Xaml.Core.Direct.XamlPropertyIndex,Windows.Foundation.Point)
    def set_point_property(self, xaml_direct_object: IXamlDirectObject, property_index: XamlPropertyIndex, value: typing.Union[windows_foundation.Point, typing.Tuple[winrt.system.Single, winrt.system.Single]], /) -> None: ...
    # System.Void Windows.UI.Xaml.Core.Direct.XamlDirect::SetRectProperty(Windows.UI.Xaml.Core.Direct.IXamlDirectObject,Windows.UI.Xaml.Core.Direct.XamlPropertyIndex,Windows.Foundation.Rect)
    def set_rect_property(self, xaml_direct_object: IXamlDirectObject, property_index: XamlPropertyIndex, value: typing.Union[windows_foundation.Rect, typing.Tuple[winrt.system.Single, winrt.system.Single, winrt.system.Single, winrt.system.Single]], /) -> None: ...
    # System.Void Windows.UI.Xaml.Core.Direct.XamlDirect::SetSizeProperty(Windows.UI.Xaml.Core.Direct.IXamlDirectObject,Windows.UI.Xaml.Core.Direct.XamlPropertyIndex,Windows.Foundation.Size)
    def set_size_property(self, xaml_direct_object: IXamlDirectObject, property_index: XamlPropertyIndex, value: typing.Union[windows_foundation.Size, typing.Tuple[winrt.system.Single, winrt.system.Single]], /) -> None: ...
    # System.Void Windows.UI.Xaml.Core.Direct.XamlDirect::SetStringProperty(Windows.UI.Xaml.Core.Direct.IXamlDirectObject,Windows.UI.Xaml.Core.Direct.XamlPropertyIndex,System.String)
    def set_string_property(self, xaml_direct_object: IXamlDirectObject, property_index: XamlPropertyIndex, value: str, /) -> None: ...
    # System.Void Windows.UI.Xaml.Core.Direct.XamlDirect::SetThicknessProperty(Windows.UI.Xaml.Core.Direct.IXamlDirectObject,Windows.UI.Xaml.Core.Direct.XamlPropertyIndex,Windows.UI.Xaml.Thickness)
    def set_thickness_property(self, xaml_direct_object: IXamlDirectObject, property_index: XamlPropertyIndex, value: typing.Union[windows_ui_xaml.Thickness, typing.Tuple[winrt.system.Double, winrt.system.Double, winrt.system.Double, winrt.system.Double]], /) -> None: ...
    # System.Void Windows.UI.Xaml.Core.Direct.XamlDirect::SetTimeSpanProperty(Windows.UI.Xaml.Core.Direct.IXamlDirectObject,Windows.UI.Xaml.Core.Direct.XamlPropertyIndex,Windows.Foundation.TimeSpan)
    def set_time_span_property(self, xaml_direct_object: IXamlDirectObject, property_index: XamlPropertyIndex, value: datetime.timedelta, /) -> None: ...
    # System.Void Windows.UI.Xaml.Core.Direct.XamlDirect::SetXamlDirectObjectProperty(Windows.UI.Xaml.Core.Direct.IXamlDirectObject,Windows.UI.Xaml.Core.Direct.XamlPropertyIndex,Windows.UI.Xaml.Core.Direct.IXamlDirectObject)
    def set_xaml_direct_object_property(self, xaml_direct_object: IXamlDirectObject, property_index: XamlPropertyIndex, value: IXamlDirectObject, /) -> None: ...

@typing.final
class _IXamlDirectObject: ...

class IXamlDirectObject(winrt._winrt.IInspectable):  # type: ignore[misc]
    pass

