# WARNING: Please don't edit this file. It was generated by Python/WinRT v2.3.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.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(type):
    def get_default(cls) -> typing.Optional[XamlDirect]: ...

@typing.final
class XamlDirect(winrt.system.Object, metaclass=XamlDirect_Static):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> XamlDirect: ...
    @typing.overload
    def add_event_handler(self, xaml_direct_object: typing.Optional[IXamlDirectObject], event_index: XamlEventIndex, handler: typing.Optional[winrt.system.Object], /) -> None: ...
    @typing.overload
    def add_event_handler(self, xaml_direct_object: typing.Optional[IXamlDirectObject], event_index: XamlEventIndex, handler: typing.Optional[winrt.system.Object], handled_events_too: bool, /) -> None: ...
    def add_to_collection(self, xaml_direct_object: typing.Optional[IXamlDirectObject], value: typing.Optional[IXamlDirectObject], /) -> None: ...
    def clear_collection(self, xaml_direct_object: typing.Optional[IXamlDirectObject], /) -> None: ...
    def clear_property(self, xaml_direct_object: typing.Optional[IXamlDirectObject], property_index: XamlPropertyIndex, /) -> None: ...
    def create_instance(self, type_index: XamlTypeIndex, /) -> typing.Optional[IXamlDirectObject]: ...
    def get_boolean_property(self, xaml_direct_object: typing.Optional[IXamlDirectObject], property_index: XamlPropertyIndex, /) -> bool: ...
    def get_collection_count(self, xaml_direct_object: typing.Optional[IXamlDirectObject], /) -> winrt.system.UInt32: ...
    def get_color_property(self, xaml_direct_object: typing.Optional[IXamlDirectObject], property_index: XamlPropertyIndex, /) -> windows_ui.Color: ...
    def get_corner_radius_property(self, xaml_direct_object: typing.Optional[IXamlDirectObject], property_index: XamlPropertyIndex, /) -> windows_ui_xaml.CornerRadius: ...
    def get_date_time_property(self, xaml_direct_object: typing.Optional[IXamlDirectObject], property_index: XamlPropertyIndex, /) -> datetime.datetime: ...
    def get_double_property(self, xaml_direct_object: typing.Optional[IXamlDirectObject], property_index: XamlPropertyIndex, /) -> winrt.system.Double: ...
    def get_duration_property(self, xaml_direct_object: typing.Optional[IXamlDirectObject], property_index: XamlPropertyIndex, /) -> windows_ui_xaml.Duration: ...
    def get_enum_property(self, xaml_direct_object: typing.Optional[IXamlDirectObject], property_index: XamlPropertyIndex, /) -> winrt.system.UInt32: ...
    def get_grid_length_property(self, xaml_direct_object: typing.Optional[IXamlDirectObject], property_index: XamlPropertyIndex, /) -> windows_ui_xaml.GridLength: ...
    def get_int32_property(self, xaml_direct_object: typing.Optional[IXamlDirectObject], property_index: XamlPropertyIndex, /) -> winrt.system.Int32: ...
    def get_matrix3_d_property(self, xaml_direct_object: typing.Optional[IXamlDirectObject], property_index: XamlPropertyIndex, /) -> windows_ui_xaml_media_media3d.Matrix3D: ...
    def get_matrix_property(self, xaml_direct_object: typing.Optional[IXamlDirectObject], property_index: XamlPropertyIndex, /) -> windows_ui_xaml_media.Matrix: ...
    def get_object(self, xaml_direct_object: typing.Optional[IXamlDirectObject], /) -> typing.Optional[winrt.system.Object]: ...
    def get_object_property(self, xaml_direct_object: typing.Optional[IXamlDirectObject], property_index: XamlPropertyIndex, /) -> typing.Optional[winrt.system.Object]: ...
    def get_point_property(self, xaml_direct_object: typing.Optional[IXamlDirectObject], property_index: XamlPropertyIndex, /) -> windows_foundation.Point: ...
    def get_rect_property(self, xaml_direct_object: typing.Optional[IXamlDirectObject], property_index: XamlPropertyIndex, /) -> windows_foundation.Rect: ...
    def get_size_property(self, xaml_direct_object: typing.Optional[IXamlDirectObject], property_index: XamlPropertyIndex, /) -> windows_foundation.Size: ...
    def get_string_property(self, xaml_direct_object: typing.Optional[IXamlDirectObject], property_index: XamlPropertyIndex, /) -> str: ...
    def get_thickness_property(self, xaml_direct_object: typing.Optional[IXamlDirectObject], property_index: XamlPropertyIndex, /) -> windows_ui_xaml.Thickness: ...
    def get_time_span_property(self, xaml_direct_object: typing.Optional[IXamlDirectObject], property_index: XamlPropertyIndex, /) -> datetime.timedelta: ...
    def get_xaml_direct_object(self, object: typing.Optional[winrt.system.Object], /) -> typing.Optional[IXamlDirectObject]: ...
    def get_xaml_direct_object_from_collection_at(self, xaml_direct_object: typing.Optional[IXamlDirectObject], index: winrt.system.UInt32, /) -> typing.Optional[IXamlDirectObject]: ...
    def get_xaml_direct_object_property(self, xaml_direct_object: typing.Optional[IXamlDirectObject], property_index: XamlPropertyIndex, /) -> typing.Optional[IXamlDirectObject]: ...
    def insert_into_collection_at(self, xaml_direct_object: typing.Optional[IXamlDirectObject], index: winrt.system.UInt32, value: typing.Optional[IXamlDirectObject], /) -> None: ...
    def remove_event_handler(self, xaml_direct_object: typing.Optional[IXamlDirectObject], event_index: XamlEventIndex, handler: typing.Optional[winrt.system.Object], /) -> None: ...
    def remove_from_collection(self, xaml_direct_object: typing.Optional[IXamlDirectObject], value: typing.Optional[IXamlDirectObject], /) -> bool: ...
    def remove_from_collection_at(self, xaml_direct_object: typing.Optional[IXamlDirectObject], index: winrt.system.UInt32, /) -> None: ...
    def set_boolean_property(self, xaml_direct_object: typing.Optional[IXamlDirectObject], property_index: XamlPropertyIndex, value: bool, /) -> None: ...
    def set_color_property(self, xaml_direct_object: typing.Optional[IXamlDirectObject], property_index: XamlPropertyIndex, value: windows_ui.Color, /) -> None: ...
    def set_corner_radius_property(self, xaml_direct_object: typing.Optional[IXamlDirectObject], property_index: XamlPropertyIndex, value: windows_ui_xaml.CornerRadius, /) -> None: ...
    def set_date_time_property(self, xaml_direct_object: typing.Optional[IXamlDirectObject], property_index: XamlPropertyIndex, value: datetime.datetime, /) -> None: ...
    def set_double_property(self, xaml_direct_object: typing.Optional[IXamlDirectObject], property_index: XamlPropertyIndex, value: winrt.system.Double, /) -> None: ...
    def set_duration_property(self, xaml_direct_object: typing.Optional[IXamlDirectObject], property_index: XamlPropertyIndex, value: windows_ui_xaml.Duration, /) -> None: ...
    def set_enum_property(self, xaml_direct_object: typing.Optional[IXamlDirectObject], property_index: XamlPropertyIndex, value: winrt.system.UInt32, /) -> None: ...
    def set_grid_length_property(self, xaml_direct_object: typing.Optional[IXamlDirectObject], property_index: XamlPropertyIndex, value: windows_ui_xaml.GridLength, /) -> None: ...
    def set_int32_property(self, xaml_direct_object: typing.Optional[IXamlDirectObject], property_index: XamlPropertyIndex, value: winrt.system.Int32, /) -> None: ...
    def set_matrix3_d_property(self, xaml_direct_object: typing.Optional[IXamlDirectObject], property_index: XamlPropertyIndex, value: windows_ui_xaml_media_media3d.Matrix3D, /) -> None: ...
    def set_matrix_property(self, xaml_direct_object: typing.Optional[IXamlDirectObject], property_index: XamlPropertyIndex, value: windows_ui_xaml_media.Matrix, /) -> None: ...
    def set_object_property(self, xaml_direct_object: typing.Optional[IXamlDirectObject], property_index: XamlPropertyIndex, value: typing.Optional[winrt.system.Object], /) -> None: ...
    def set_point_property(self, xaml_direct_object: typing.Optional[IXamlDirectObject], property_index: XamlPropertyIndex, value: windows_foundation.Point, /) -> None: ...
    def set_rect_property(self, xaml_direct_object: typing.Optional[IXamlDirectObject], property_index: XamlPropertyIndex, value: windows_foundation.Rect, /) -> None: ...
    def set_size_property(self, xaml_direct_object: typing.Optional[IXamlDirectObject], property_index: XamlPropertyIndex, value: windows_foundation.Size, /) -> None: ...
    def set_string_property(self, xaml_direct_object: typing.Optional[IXamlDirectObject], property_index: XamlPropertyIndex, value: str, /) -> None: ...
    def set_thickness_property(self, xaml_direct_object: typing.Optional[IXamlDirectObject], property_index: XamlPropertyIndex, value: windows_ui_xaml.Thickness, /) -> None: ...
    def set_time_span_property(self, xaml_direct_object: typing.Optional[IXamlDirectObject], property_index: XamlPropertyIndex, value: datetime.timedelta, /) -> None: ...
    def set_xaml_direct_object_property(self, xaml_direct_object: typing.Optional[IXamlDirectObject], property_index: XamlPropertyIndex, value: typing.Optional[IXamlDirectObject], /) -> None: ...

@typing.final
class IXamlDirectObject(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> IXamlDirectObject: ...

