# 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.windows.foundation

from winrt.windows.ui.core.preview.communications import PreviewMeetingInfoDisplayKind, PreviewSystemState, PreviewTeamEndMeetingKind, PreviewTeamViewCommand

Self = typing.TypeVar('Self')

@typing.final
class PreviewTeamCleanupRequestedEventArgs(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> PreviewTeamCleanupRequestedEventArgs: ...
    def get_deferral(self) -> typing.Optional[winrt.windows.foundation.Deferral]: ...

@typing.final
class PreviewTeamCommandInvokedEventArgs(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> PreviewTeamCommandInvokedEventArgs: ...
    @_property
    def command(self) -> PreviewTeamViewCommand: ...

@typing.final
class PreviewTeamDeviceCredentials(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> PreviewTeamDeviceCredentials: ...
    def __new__(cls: typing.Type[PreviewTeamDeviceCredentials]) -> PreviewTeamDeviceCredentials:...
    @_property
    def domain_user_name(self) -> str: ...
    @_property
    def password(self) -> str: ...
    @_property
    def user_principal_name(self) -> str: ...

@typing.final
class PreviewTeamEndMeetingRequestedEventArgs(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> PreviewTeamEndMeetingRequestedEventArgs: ...
    def get_deferral(self) -> typing.Optional[winrt.windows.foundation.Deferral]: ...

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

@typing.final
class PreviewTeamView_Static(type):
    def get_for_current_view(cls) -> typing.Optional[PreviewTeamView]: ...

@typing.final
class PreviewTeamView(winrt.system.Object, metaclass=PreviewTeamView_Static):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> PreviewTeamView: ...
    def enter_full_screen(self) -> None: ...
    def join_meeting_with_uri(self, meeting_uri: typing.Optional[winrt.windows.foundation.Uri], /) -> None: ...
    def leave_full_screen(self) -> None: ...
    def notify_meeting_ended(self, kind: PreviewTeamEndMeetingKind, /) -> None: ...
    def request_foreground(self) -> None: ...
    def set_button_label(self, label: str, /) -> None: ...
    def set_title(self, title: str, /) -> None: ...
    def start_sharing_screen(self) -> None: ...
    def stop_sharing_screen(self) -> None: ...
    def add_cleanup_requested(self, handler: winrt.windows.foundation.TypedEventHandler[PreviewTeamView, PreviewTeamCleanupRequestedEventArgs], /) -> winrt.windows.foundation.EventRegistrationToken: ...
    def remove_cleanup_requested(self, token: winrt.windows.foundation.EventRegistrationToken, /) -> None: ...
    def add_command_invoked(self, handler: winrt.windows.foundation.TypedEventHandler[PreviewTeamView, PreviewTeamCommandInvokedEventArgs], /) -> winrt.windows.foundation.EventRegistrationToken: ...
    def remove_command_invoked(self, token: winrt.windows.foundation.EventRegistrationToken, /) -> None: ...
    def add_end_meeting_requested(self, handler: winrt.windows.foundation.TypedEventHandler[PreviewTeamView, PreviewTeamEndMeetingRequestedEventArgs], /) -> winrt.windows.foundation.EventRegistrationToken: ...
    def remove_end_meeting_requested(self, token: winrt.windows.foundation.EventRegistrationToken, /) -> None: ...
    def add_is_full_screen_changed(self, handler: winrt.windows.foundation.TypedEventHandler[PreviewTeamView, winrt.system.Object], /) -> winrt.windows.foundation.EventRegistrationToken: ...
    def remove_is_full_screen_changed(self, token: winrt.windows.foundation.EventRegistrationToken, /) -> None: ...
    def add_is_screen_sharing_changed(self, handler: winrt.windows.foundation.TypedEventHandler[PreviewTeamView, winrt.system.Object], /) -> winrt.windows.foundation.EventRegistrationToken: ...
    def remove_is_screen_sharing_changed(self, token: winrt.windows.foundation.EventRegistrationToken, /) -> None: ...
    def add_join_meeting_requested(self, handler: winrt.windows.foundation.TypedEventHandler[PreviewTeamView, PreviewTeamJoinMeetingRequestedEventArgs], /) -> winrt.windows.foundation.EventRegistrationToken: ...
    def remove_join_meeting_requested(self, token: winrt.windows.foundation.EventRegistrationToken, /) -> None: ...
    def add_sharing_screen_bounds_changed(self, handler: winrt.windows.foundation.TypedEventHandler[PreviewTeamView, winrt.system.Object], /) -> winrt.windows.foundation.EventRegistrationToken: ...
    def remove_sharing_screen_bounds_changed(self, token: winrt.windows.foundation.EventRegistrationToken, /) -> None: ...
    def add_system_state_changed(self, handler: winrt.windows.foundation.TypedEventHandler[PreviewTeamView, winrt.system.Object], /) -> winrt.windows.foundation.EventRegistrationToken: ...
    def remove_system_state_changed(self, token: winrt.windows.foundation.EventRegistrationToken, /) -> None: ...
    @_property
    def is_full_screen(self) -> bool: ...
    @_property
    def is_screen_sharing(self) -> bool: ...
    @_property
    def meeting_info_display_type(self) -> PreviewMeetingInfoDisplayKind: ...
    @_property
    def meeting_uri(self) -> typing.Optional[winrt.windows.foundation.Uri]: ...
    @_property
    def sharing_screen_bounds(self) -> winrt.windows.foundation.Rect: ...
    @_property
    def system_state(self) -> PreviewSystemState: ...

