# 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.microsoft.ui.dispatching as microsoft_ui_dispatching
import winrt.microsoft.ui.xaml as microsoft_ui_xaml
import winrt.microsoft.ui.xaml.media.animation as microsoft_ui_xaml_media_animation
import winrt.windows.foundation as windows_foundation
import winrt.windows.ui.core as windows_ui_core
import winrt.windows.ui.xaml.interop as windows_ui_xaml_interop

from winrt.microsoft.ui.xaml.navigation import NavigationCacheMode, NavigationMode
from winrt.microsoft.ui.xaml.navigation import NavigatedEventHandler, NavigatingCancelEventHandler, NavigationFailedEventHandler, NavigationStoppedEventHandler

Self = typing.TypeVar('Self')

@typing.final
class FrameNavigationOptions(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> FrameNavigationOptions: ...
    def __new__(cls: typing.Type[FrameNavigationOptions]) -> FrameNavigationOptions: ...
    @_property
    def transition_info_override(self) -> typing.Optional[microsoft_ui_xaml_media_animation.NavigationTransitionInfo]: ...
    @transition_info_override.setter
    def transition_info_override(self, value: typing.Optional[microsoft_ui_xaml_media_animation.NavigationTransitionInfo]) -> None: ...
    @_property
    def is_navigation_stack_enabled(self) -> bool: ...
    @is_navigation_stack_enabled.setter
    def is_navigation_stack_enabled(self, value: bool) -> None: ...

@typing.final
class NavigatingCancelEventArgs(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> NavigatingCancelEventArgs: ...
    @_property
    def cancel(self) -> bool: ...
    @cancel.setter
    def cancel(self, value: bool) -> None: ...
    @_property
    def navigation_mode(self) -> NavigationMode: ...
    @_property
    def navigation_transition_info(self) -> typing.Optional[microsoft_ui_xaml_media_animation.NavigationTransitionInfo]: ...
    @_property
    def parameter(self) -> typing.Optional[winrt.system.Object]: ...
    @_property
    def source_page_type(self) -> windows_ui_xaml_interop.TypeName: ...

@typing.final
class NavigationEventArgs(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> NavigationEventArgs: ...
    @_property
    def uri(self) -> typing.Optional[windows_foundation.Uri]: ...
    @uri.setter
    def uri(self, value: typing.Optional[windows_foundation.Uri]) -> None: ...
    @_property
    def content(self) -> typing.Optional[winrt.system.Object]: ...
    @_property
    def navigation_mode(self) -> NavigationMode: ...
    @_property
    def navigation_transition_info(self) -> typing.Optional[microsoft_ui_xaml_media_animation.NavigationTransitionInfo]: ...
    @_property
    def parameter(self) -> typing.Optional[winrt.system.Object]: ...
    @_property
    def source_page_type(self) -> windows_ui_xaml_interop.TypeName: ...

@typing.final
class NavigationFailedEventArgs(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> NavigationFailedEventArgs: ...
    @_property
    def handled(self) -> bool: ...
    @handled.setter
    def handled(self, value: bool) -> None: ...
    @_property
    def exception(self) -> windows_foundation.HResult: ...
    @_property
    def source_page_type(self) -> windows_ui_xaml_interop.TypeName: ...

@typing.final
class PageStackEntry_Static(type):
    @_property
    def source_page_type_property(cls) -> typing.Optional[microsoft_ui_xaml.DependencyProperty]: ...

@typing.final
class PageStackEntry(winrt.system.Object, metaclass=PageStackEntry_Static):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> PageStackEntry: ...
    def __new__(cls: typing.Type[PageStackEntry], source_page_type: windows_ui_xaml_interop.TypeName, parameter: typing.Optional[winrt.system.Object], navigation_transition_info: typing.Optional[microsoft_ui_xaml_media_animation.NavigationTransitionInfo]) -> PageStackEntry: ...
    def clear_value(self, dp: typing.Optional[microsoft_ui_xaml.DependencyProperty], /) -> None: ...
    def get_animation_base_value(self, dp: typing.Optional[microsoft_ui_xaml.DependencyProperty], /) -> typing.Optional[winrt.system.Object]: ...
    def get_value(self, dp: typing.Optional[microsoft_ui_xaml.DependencyProperty], /) -> typing.Optional[winrt.system.Object]: ...
    def read_local_value(self, dp: typing.Optional[microsoft_ui_xaml.DependencyProperty], /) -> typing.Optional[winrt.system.Object]: ...
    def register_property_changed_callback(self, dp: typing.Optional[microsoft_ui_xaml.DependencyProperty], callback: typing.Optional[microsoft_ui_xaml.DependencyPropertyChangedCallback], /) -> winrt.system.Int64: ...
    def set_value(self, dp: typing.Optional[microsoft_ui_xaml.DependencyProperty], value: typing.Optional[winrt.system.Object], /) -> None: ...
    def unregister_property_changed_callback(self, dp: typing.Optional[microsoft_ui_xaml.DependencyProperty], token: winrt.system.Int64, /) -> None: ...
    @_property
    def navigation_transition_info(self) -> typing.Optional[microsoft_ui_xaml_media_animation.NavigationTransitionInfo]: ...
    @_property
    def parameter(self) -> typing.Optional[winrt.system.Object]: ...
    @_property
    def source_page_type(self) -> windows_ui_xaml_interop.TypeName: ...
    @_property
    def dispatcher(self) -> typing.Optional[windows_ui_core.CoreDispatcher]: ...
    @_property
    def dispatcher_queue(self) -> typing.Optional[microsoft_ui_dispatching.DispatcherQueue]: ...

