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

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.microsoft.ui.xaml
import winrt.windows.foundation
import winrt.windows.foundation.collections
import winrt.windows.storage.streams
import winrt.windows.ui.xaml.interop

Self = typing.TypeVar('Self')

@typing.final
class XamlBinaryWriterErrorInformation:
    input_stream_index: winrt.system.UInt32
    line_number: winrt.system.UInt32
    line_position: winrt.system.UInt32
    def __init__(self, input_stream_index: winrt.system.UInt32, line_number: winrt.system.UInt32, line_position: winrt.system.UInt32) -> None: ...

@typing.final
class XmlnsDefinition:
    xml_namespace: str
    namespace: str
    def __init__(self, xml_namespace: str, namespace: str) -> None: ...

@typing.final
class MarkupExtension(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> MarkupExtension: ...
    def __new__(cls: typing.Type[MarkupExtension]) -> MarkupExtension:...
    @typing.overload
    def provide_value(self) -> typing.Optional[winrt.system.Object]: ...
    @typing.overload
    def provide_value(self, service_provider: typing.Optional[winrt.microsoft.ui.xaml.IXamlServiceProvider], /) -> typing.Optional[winrt.system.Object]: ...

@typing.final
class ProvideValueTargetProperty(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> ProvideValueTargetProperty: ...
    def __new__(cls: typing.Type[ProvideValueTargetProperty]) -> ProvideValueTargetProperty:...
    @_property
    def declaring_type(self) -> winrt.windows.ui.xaml.interop.TypeName: ...
    @_property
    def name(self) -> str: ...
    @_property
    def type(self) -> winrt.windows.ui.xaml.interop.TypeName: ...

@typing.final
class XamlBinaryWriter_Static(type):
    def write(cls, input_streams: winrt.windows.foundation.collections.IVector[winrt.windows.storage.streams.IRandomAccessStream], output_streams: winrt.windows.foundation.collections.IVector[winrt.windows.storage.streams.IRandomAccessStream], xaml_metadata_provider: typing.Optional[IXamlMetadataProvider], /) -> XamlBinaryWriterErrorInformation: ...

@typing.final
class XamlBinaryWriter(winrt.system.Object, metaclass=XamlBinaryWriter_Static):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> XamlBinaryWriter: ...

@typing.final
class XamlBindingHelper_Static(type):
    def convert_value(cls, type: winrt.windows.ui.xaml.interop.TypeName, value: typing.Optional[winrt.system.Object], /) -> typing.Optional[winrt.system.Object]: ...
    def get_data_template_component(cls, element: typing.Optional[winrt.microsoft.ui.xaml.DependencyObject], /) -> typing.Optional[IDataTemplateComponent]: ...
    def resume_rendering(cls, target: typing.Optional[winrt.microsoft.ui.xaml.UIElement], /) -> None: ...
    def set_data_template_component(cls, element: typing.Optional[winrt.microsoft.ui.xaml.DependencyObject], value: typing.Optional[IDataTemplateComponent], /) -> None: ...
    def set_property_from_boolean(cls, dependency_object: typing.Optional[winrt.system.Object], property_to_set: typing.Optional[winrt.microsoft.ui.xaml.DependencyProperty], value: bool, /) -> None: ...
    def set_property_from_byte(cls, dependency_object: typing.Optional[winrt.system.Object], property_to_set: typing.Optional[winrt.microsoft.ui.xaml.DependencyProperty], value: winrt.system.UInt8, /) -> None: ...
    def set_property_from_char16(cls, dependency_object: typing.Optional[winrt.system.Object], property_to_set: typing.Optional[winrt.microsoft.ui.xaml.DependencyProperty], value: winrt.system.Char16, /) -> None: ...
    def set_property_from_date_time(cls, dependency_object: typing.Optional[winrt.system.Object], property_to_set: typing.Optional[winrt.microsoft.ui.xaml.DependencyProperty], value: datetime.datetime, /) -> None: ...
    def set_property_from_double(cls, dependency_object: typing.Optional[winrt.system.Object], property_to_set: typing.Optional[winrt.microsoft.ui.xaml.DependencyProperty], value: winrt.system.Double, /) -> None: ...
    def set_property_from_int32(cls, dependency_object: typing.Optional[winrt.system.Object], property_to_set: typing.Optional[winrt.microsoft.ui.xaml.DependencyProperty], value: winrt.system.Int32, /) -> None: ...
    def set_property_from_int64(cls, dependency_object: typing.Optional[winrt.system.Object], property_to_set: typing.Optional[winrt.microsoft.ui.xaml.DependencyProperty], value: winrt.system.Int64, /) -> None: ...
    def set_property_from_object(cls, dependency_object: typing.Optional[winrt.system.Object], property_to_set: typing.Optional[winrt.microsoft.ui.xaml.DependencyProperty], value: typing.Optional[winrt.system.Object], /) -> None: ...
    def set_property_from_point(cls, dependency_object: typing.Optional[winrt.system.Object], property_to_set: typing.Optional[winrt.microsoft.ui.xaml.DependencyProperty], value: winrt.windows.foundation.Point, /) -> None: ...
    def set_property_from_rect(cls, dependency_object: typing.Optional[winrt.system.Object], property_to_set: typing.Optional[winrt.microsoft.ui.xaml.DependencyProperty], value: winrt.windows.foundation.Rect, /) -> None: ...
    def set_property_from_single(cls, dependency_object: typing.Optional[winrt.system.Object], property_to_set: typing.Optional[winrt.microsoft.ui.xaml.DependencyProperty], value: winrt.system.Single, /) -> None: ...
    def set_property_from_size(cls, dependency_object: typing.Optional[winrt.system.Object], property_to_set: typing.Optional[winrt.microsoft.ui.xaml.DependencyProperty], value: winrt.windows.foundation.Size, /) -> None: ...
    def set_property_from_string(cls, dependency_object: typing.Optional[winrt.system.Object], property_to_set: typing.Optional[winrt.microsoft.ui.xaml.DependencyProperty], value: str, /) -> None: ...
    def set_property_from_time_span(cls, dependency_object: typing.Optional[winrt.system.Object], property_to_set: typing.Optional[winrt.microsoft.ui.xaml.DependencyProperty], value: datetime.timedelta, /) -> None: ...
    def set_property_from_uint32(cls, dependency_object: typing.Optional[winrt.system.Object], property_to_set: typing.Optional[winrt.microsoft.ui.xaml.DependencyProperty], value: winrt.system.UInt32, /) -> None: ...
    def set_property_from_uint64(cls, dependency_object: typing.Optional[winrt.system.Object], property_to_set: typing.Optional[winrt.microsoft.ui.xaml.DependencyProperty], value: winrt.system.UInt64, /) -> None: ...
    def set_property_from_uri(cls, dependency_object: typing.Optional[winrt.system.Object], property_to_set: typing.Optional[winrt.microsoft.ui.xaml.DependencyProperty], value: typing.Optional[winrt.windows.foundation.Uri], /) -> None: ...
    def suspend_rendering(cls, target: typing.Optional[winrt.microsoft.ui.xaml.UIElement], /) -> None: ...
    @_property
    def data_template_component_property(cls) -> typing.Optional[winrt.microsoft.ui.xaml.DependencyProperty]: ...

@typing.final
class XamlBindingHelper(winrt.system.Object, metaclass=XamlBindingHelper_Static):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> XamlBindingHelper: ...

@typing.final
class XamlMarkupHelper_Static(type):
    def unload_object(cls, element: typing.Optional[winrt.microsoft.ui.xaml.DependencyObject], /) -> None: ...

@typing.final
class XamlMarkupHelper(winrt.system.Object, metaclass=XamlMarkupHelper_Static):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> XamlMarkupHelper: ...

@typing.final
class XamlReader_Static(type):
    def load(cls, xaml: str, /) -> typing.Optional[winrt.system.Object]: ...
    def load_with_initial_template_validation(cls, xaml: str, /) -> typing.Optional[winrt.system.Object]: ...

@typing.final
class XamlReader(winrt.system.Object, metaclass=XamlReader_Static):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> XamlReader: ...

@typing.final
class IComponentConnector(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> IComponentConnector: ...
    def connect(self, connection_id: winrt.system.Int32, target: typing.Optional[winrt.system.Object], /) -> None: ...
    def get_binding_connector(self, connection_id: winrt.system.Int32, target: typing.Optional[winrt.system.Object], /) -> typing.Optional[IComponentConnector]: ...

@typing.final
class IDataTemplateComponent(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> IDataTemplateComponent: ...
    def process_bindings(self, item: typing.Optional[winrt.system.Object], item_index: winrt.system.Int32, phase: winrt.system.Int32, /) -> winrt.system.Int32: ...
    def recycle(self) -> None: ...

@typing.final
class IProvideValueTarget(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> IProvideValueTarget: ...
    @_property
    def target_object(self) -> typing.Optional[winrt.system.Object]: ...
    @_property
    def target_property(self) -> typing.Optional[winrt.system.Object]: ...

@typing.final
class IRootObjectProvider(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> IRootObjectProvider: ...
    @_property
    def root_object(self) -> typing.Optional[winrt.system.Object]: ...

@typing.final
class IUriContext(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> IUriContext: ...
    @_property
    def base_uri(self) -> typing.Optional[winrt.windows.foundation.Uri]: ...

@typing.final
class IXamlBindScopeDiagnostics(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> IXamlBindScopeDiagnostics: ...
    def disable(self, line_number: winrt.system.Int32, column_number: winrt.system.Int32, /) -> None: ...

@typing.final
class IXamlMember(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> IXamlMember: ...
    def get_value(self, instance: typing.Optional[winrt.system.Object], /) -> typing.Optional[winrt.system.Object]: ...
    def set_value(self, instance: typing.Optional[winrt.system.Object], value: typing.Optional[winrt.system.Object], /) -> None: ...
    @_property
    def is_attachable(self) -> bool: ...
    @_property
    def is_dependency_property(self) -> bool: ...
    @_property
    def is_read_only(self) -> bool: ...
    @_property
    def name(self) -> str: ...
    @_property
    def target_type(self) -> typing.Optional[IXamlType]: ...
    @_property
    def type(self) -> typing.Optional[IXamlType]: ...

@typing.final
class IXamlMetadataProvider(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> IXamlMetadataProvider: ...
    def get_xaml_type(self, type: winrt.windows.ui.xaml.interop.TypeName, /) -> typing.Optional[IXamlType]: ...
    def get_xmlns_definitions(self) -> XmlnsDefinition: ...

@typing.final
class IXamlType(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> IXamlType: ...
    def activate_instance(self) -> typing.Optional[winrt.system.Object]: ...
    def add_to_map(self, instance: typing.Optional[winrt.system.Object], key: typing.Optional[winrt.system.Object], value: typing.Optional[winrt.system.Object], /) -> None: ...
    def add_to_vector(self, instance: typing.Optional[winrt.system.Object], value: typing.Optional[winrt.system.Object], /) -> None: ...
    def create_from_string(self, value: str, /) -> typing.Optional[winrt.system.Object]: ...
    def get_member(self, name: str, /) -> typing.Optional[IXamlMember]: ...
    def run_initializer(self) -> None: ...
    @_property
    def base_type(self) -> typing.Optional[IXamlType]: ...
    @_property
    def boxed_type(self) -> typing.Optional[IXamlType]: ...
    @_property
    def content_property(self) -> typing.Optional[IXamlMember]: ...
    @_property
    def full_name(self) -> str: ...
    @_property
    def is_array(self) -> bool: ...
    @_property
    def is_bindable(self) -> bool: ...
    @_property
    def is_collection(self) -> bool: ...
    @_property
    def is_constructible(self) -> bool: ...
    @_property
    def is_dictionary(self) -> bool: ...
    @_property
    def is_markup_extension(self) -> bool: ...
    @_property
    def item_type(self) -> typing.Optional[IXamlType]: ...
    @_property
    def key_type(self) -> typing.Optional[IXamlType]: ...
    @_property
    def underlying_type(self) -> winrt.windows.ui.xaml.interop.TypeName: ...

@typing.final
class IXamlTypeResolver(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> IXamlTypeResolver: ...
    def resolve(self, qualified_type_name: str, /) -> winrt.windows.ui.xaml.interop.TypeName: ...

