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

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.applicationmodel.appointments
import winrt.windows.applicationmodel.email
import winrt.windows.foundation
import winrt.windows.foundation.collections
import winrt.windows.storage.streams

from winrt.windows.phone.notification.management import AccessoryNotificationType, CalendarChangedEvent, PhoneCallAudioEndpoint, PhoneCallDirection, PhoneCallState, PhoneCallTransport, PhoneLineRegistrationState, PhoneMediaType, PhoneNotificationType, PlaybackCapability, PlaybackCommand, PlaybackStatus, ReminderState, VibrateState

Self = typing.TypeVar('Self')

class AccessoryManager_Static(type):
    @typing.overload
    def accept_phone_call(cls, phone_call_id: winrt.system.UInt32, /) -> None: ...
    @typing.overload
    def accept_phone_call(cls, phone_call_id: winrt.system.UInt32, end_point: PhoneCallAudioEndpoint, /) -> None: ...
    @typing.overload
    def accept_phone_call_with_video(cls, phone_call_id: winrt.system.UInt32, /) -> None: ...
    @typing.overload
    def accept_phone_call_with_video(cls, phone_call_id: winrt.system.UInt32, end_point: PhoneCallAudioEndpoint, /) -> None: ...
    def clear_toast(cls, instance_id: str, /) -> None: ...
    def decrease_volume(cls, step: winrt.system.Int32, /) -> None: ...
    def disable_all_accessory_notification_types(cls) -> None: ...
    def disable_email_notification_email_account(cls, email_account: str, /) -> None: ...
    def disable_notifications_for_application(cls, app_id: str, /) -> None: ...
    def dismiss_alarm(cls, alarm_id: _uuid.UUID, /) -> None: ...
    def dismiss_alarm_by_instance_id(cls, instance_id: str, /) -> None: ...
    def dismiss_reminder(cls, reminder_id: _uuid.UUID, /) -> None: ...
    def dismiss_reminder_by_instance_id(cls, instance_id: str, /) -> None: ...
    def enable_accessory_notification_types(cls, accessory_notification_types: winrt.system.Int32, /) -> None: ...
    def enable_email_notification_email_account(cls, email_account: str, /) -> None: ...
    def enable_email_notification_folder_filter(cls, email_account: str, folders: winrt.windows.foundation.collections.IVectorView[str], /) -> None: ...
    def enable_notifications_for_application(cls, app_id: str, /) -> None: ...
    def end_phone_call(cls, phone_call_id: winrt.system.UInt32, /) -> None: ...
    def get_all_email_accounts(cls) -> typing.Optional[winrt.windows.foundation.collections.IVectorView[EmailAccountInfo]]: ...
    def get_app_icon(cls, app_id: str, /) -> typing.Optional[winrt.windows.storage.streams.IRandomAccessStreamReference]: ...
    def get_apps(cls) -> typing.Optional[winrt.windows.foundation.collections.IMapView[str, AppNotificationInfo]]: ...
    def get_enabled_accessory_notification_types(cls) -> winrt.system.Int32: ...
    def get_folders(cls, email_account: str, /) -> typing.Optional[winrt.windows.foundation.collections.IVectorView[EmailFolderInfo]]: ...
    def get_media_metadata(cls) -> typing.Optional[MediaMetadata]: ...
    def get_next_trigger_details(cls) -> typing.Optional[IAccessoryNotificationTriggerDetails]: ...
    def get_phone_line_details(cls, phone_line: _uuid.UUID, /) -> typing.Optional[PhoneLineDetails]: ...
    def get_user_consent(cls) -> bool: ...
    def hold_phone_call(cls, phone_call_id: winrt.system.UInt32, hold_call: bool, /) -> None: ...
    def increase_volume(cls, step: winrt.system.Int32, /) -> None: ...
    def is_notification_enabled_for_application(cls, app_id: str, /) -> bool: ...
    @typing.overload
    def make_phone_call(cls, phone_line: _uuid.UUID, phone_number: str, /) -> None: ...
    @typing.overload
    def make_phone_call(cls, phone_line: _uuid.UUID, phone_number: str, end_point: PhoneCallAudioEndpoint, /) -> None: ...
    @typing.overload
    def make_phone_call_with_video(cls, phone_line: _uuid.UUID, phone_number: str, /) -> None: ...
    @typing.overload
    def make_phone_call_with_video(cls, phone_line: _uuid.UUID, phone_number: str, end_point: PhoneCallAudioEndpoint, /) -> None: ...
    def perform_media_playback_command(cls, command: PlaybackCommand, /) -> None: ...
    def process_trigger_details(cls, p_details: typing.Optional[IAccessoryNotificationTriggerDetails], /) -> None: ...
    def register_accessory_app(cls) -> str: ...
    @typing.overload
    def reject_phone_call(cls, phone_call_id: winrt.system.UInt32, /) -> None: ...
    @typing.overload
    def reject_phone_call(cls, phone_call_id: winrt.system.UInt32, text_response_i_d: winrt.system.UInt32, /) -> None: ...
    def ring_device(cls) -> None: ...
    def set_mute(cls, mute: bool, /) -> None: ...
    def set_ringer_vibrate(cls, ringer: bool, vibrate: bool, /) -> None: ...
    @typing.overload
    def snooze_alarm(cls, alarm_id: _uuid.UUID, /) -> None: ...
    @typing.overload
    def snooze_alarm(cls, alarm_id: _uuid.UUID, time_span: datetime.timedelta, /) -> None: ...
    def snooze_alarm_by_instance_id(cls, instance_id: str, /) -> None: ...
    @typing.overload
    def snooze_reminder(cls, reminder_id: _uuid.UUID, /) -> None: ...
    @typing.overload
    def snooze_reminder(cls, reminder_id: _uuid.UUID, time_span: datetime.timedelta, /) -> None: ...
    def snooze_reminder_by_instance_id(cls, instance_id: str, /) -> None: ...
    def swap_phone_calls(cls, phone_call_id_to_hold: winrt.system.UInt32, phone_call_id_on_hold: winrt.system.UInt32, /) -> None: ...
    def update_email_read_status(cls, message_entry_id: typing.Optional[BinaryId], is_read: bool, /) -> None: ...
    @_property
    def phone_mute(cls) -> bool: ...
    @phone_mute.setter
    def phone_mute(cls, value: bool) -> None: ...
    @_property
    def phone_call_audio_endpoint(cls) -> PhoneCallAudioEndpoint: ...
    @phone_call_audio_endpoint.setter
    def phone_call_audio_endpoint(cls, value: PhoneCallAudioEndpoint) -> None: ...
    @_property
    def battery_saver_state(cls) -> bool: ...
    @_property
    def do_not_disturb_enabled(cls) -> bool: ...
    @_property
    def driving_mode_enabled(cls) -> bool: ...
    @_property
    def media_playback_capabilities(cls) -> PlaybackCapability: ...
    @_property
    def media_playback_status(cls) -> PlaybackStatus: ...
    @_property
    def phone_line_details(cls) -> typing.Optional[winrt.windows.foundation.collections.IVectorView[PhoneLineDetails]]: ...
    @_property
    def is_phone_pin_locked(cls) -> bool: ...
    @_property
    def speed_dial_list(cls) -> typing.Optional[winrt.windows.foundation.collections.IVectorView[SpeedDialEntry]]: ...
    @_property
    def volume_info(cls) -> typing.Optional[VolumeInfo]: ...

class AccessoryManager(winrt.system.Object, metaclass=AccessoryManager_Static):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> AccessoryManager: ...

class AlarmNotificationTriggerDetails(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> AlarmNotificationTriggerDetails: ...
    @_property
    def started_processing(self) -> bool: ...
    @started_processing.setter
    def started_processing(self, value: bool) -> None: ...
    @_property
    def accessory_notification_type(self) -> AccessoryNotificationType: ...
    @_property
    def app_display_name(self) -> str: ...
    @_property
    def app_id(self) -> str: ...
    @_property
    def time_created(self) -> datetime.datetime: ...
    @_property
    def alarm_id(self) -> _uuid.UUID: ...
    @_property
    def reminder_state(self) -> ReminderState: ...
    @_property
    def timestamp(self) -> datetime.datetime: ...
    @_property
    def title(self) -> str: ...
    @_property
    def instance_id(self) -> str: ...

class AppNotificationInfo(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> AppNotificationInfo: ...
    @_property
    def id(self) -> str: ...
    @_property
    def name(self) -> str: ...

class BinaryId(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> BinaryId: ...
    @_property
    def id(self) -> winrt.system.UInt8: ...
    @_property
    def length(self) -> winrt.system.UInt32: ...

class CalendarChangedNotificationTriggerDetails(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> CalendarChangedNotificationTriggerDetails: ...
    @_property
    def started_processing(self) -> bool: ...
    @started_processing.setter
    def started_processing(self, value: bool) -> None: ...
    @_property
    def accessory_notification_type(self) -> AccessoryNotificationType: ...
    @_property
    def app_display_name(self) -> str: ...
    @_property
    def app_id(self) -> str: ...
    @_property
    def time_created(self) -> datetime.datetime: ...
    @_property
    def event_type(self) -> CalendarChangedEvent: ...
    @_property
    def item_id(self) -> str: ...

class CortanaTileNotificationTriggerDetails(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> CortanaTileNotificationTriggerDetails: ...
    @_property
    def started_processing(self) -> bool: ...
    @started_processing.setter
    def started_processing(self, value: bool) -> None: ...
    @_property
    def accessory_notification_type(self) -> AccessoryNotificationType: ...
    @_property
    def app_display_name(self) -> str: ...
    @_property
    def app_id(self) -> str: ...
    @_property
    def time_created(self) -> datetime.datetime: ...
    @_property
    def content(self) -> str: ...
    @_property
    def emphasized_text(self) -> str: ...
    @_property
    def large_content1(self) -> str: ...
    @_property
    def large_content2(self) -> str: ...
    @_property
    def non_wrapped_small_content1(self) -> str: ...
    @_property
    def non_wrapped_small_content2(self) -> str: ...
    @_property
    def non_wrapped_small_content3(self) -> str: ...
    @_property
    def non_wrapped_small_content4(self) -> str: ...
    @_property
    def source(self) -> str: ...
    @_property
    def tile_id(self) -> str: ...

class EmailAccountInfo(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> EmailAccountInfo: ...
    @_property
    def display_name(self) -> str: ...
    @_property
    def is_notification_enabled(self) -> bool: ...

class EmailFolderInfo(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> EmailFolderInfo: ...
    @_property
    def display_name(self) -> str: ...
    @_property
    def is_notification_enabled(self) -> bool: ...

class EmailNotificationTriggerDetails(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> EmailNotificationTriggerDetails: ...
    @_property
    def started_processing(self) -> bool: ...
    @started_processing.setter
    def started_processing(self, value: bool) -> None: ...
    @_property
    def accessory_notification_type(self) -> AccessoryNotificationType: ...
    @_property
    def app_display_name(self) -> str: ...
    @_property
    def app_id(self) -> str: ...
    @_property
    def time_created(self) -> datetime.datetime: ...
    @_property
    def account_name(self) -> str: ...
    @_property
    def email_message(self) -> typing.Optional[winrt.windows.applicationmodel.email.EmailMessage]: ...
    @_property
    def parent_folder_name(self) -> str: ...
    @_property
    def sender_address(self) -> str: ...
    @_property
    def sender_name(self) -> str: ...
    @_property
    def timestamp(self) -> datetime.datetime: ...
    @_property
    def message_entry_id(self) -> typing.Optional[BinaryId]: ...

class EmailReadNotificationTriggerDetails(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> EmailReadNotificationTriggerDetails: ...
    @_property
    def started_processing(self) -> bool: ...
    @started_processing.setter
    def started_processing(self, value: bool) -> None: ...
    @_property
    def accessory_notification_type(self) -> AccessoryNotificationType: ...
    @_property
    def app_display_name(self) -> str: ...
    @_property
    def app_id(self) -> str: ...
    @_property
    def time_created(self) -> datetime.datetime: ...
    @_property
    def account_name(self) -> str: ...
    @_property
    def is_read(self) -> bool: ...
    @_property
    def message_entry_id(self) -> typing.Optional[BinaryId]: ...
    @_property
    def parent_folder_name(self) -> str: ...

class MediaControlsTriggerDetails(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> MediaControlsTriggerDetails: ...
    @_property
    def started_processing(self) -> bool: ...
    @started_processing.setter
    def started_processing(self, value: bool) -> None: ...
    @_property
    def accessory_notification_type(self) -> AccessoryNotificationType: ...
    @_property
    def app_display_name(self) -> str: ...
    @_property
    def app_id(self) -> str: ...
    @_property
    def time_created(self) -> datetime.datetime: ...
    @_property
    def media_metadata(self) -> typing.Optional[MediaMetadata]: ...
    @_property
    def playback_status(self) -> PlaybackStatus: ...

class MediaMetadata(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> MediaMetadata: ...
    @_property
    def album(self) -> str: ...
    @_property
    def artist(self) -> str: ...
    @_property
    def duration(self) -> datetime.timedelta: ...
    @_property
    def subtitle(self) -> str: ...
    @_property
    def thumbnail(self) -> typing.Optional[winrt.windows.storage.streams.IRandomAccessStreamReference]: ...
    @_property
    def title(self) -> str: ...
    @_property
    def track(self) -> winrt.system.UInt32: ...

class PhoneCallDetails(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> PhoneCallDetails: ...
    @_property
    def call_direction(self) -> PhoneCallDirection: ...
    @_property
    def call_id(self) -> winrt.system.UInt32: ...
    @_property
    def call_media_type(self) -> PhoneMediaType: ...
    @_property
    def call_transport(self) -> PhoneCallTransport: ...
    @_property
    def conference_call_id(self) -> winrt.system.UInt32: ...
    @_property
    def contact_name(self) -> str: ...
    @_property
    def end_time(self) -> datetime.datetime: ...
    @_property
    def phone_line(self) -> _uuid.UUID: ...
    @_property
    def phone_number(self) -> str: ...
    @_property
    def preset_text_responses(self) -> typing.Optional[winrt.windows.foundation.collections.IVectorView[TextResponse]]: ...
    @_property
    def start_time(self) -> datetime.datetime: ...
    @_property
    def state(self) -> PhoneCallState: ...

class PhoneLineDetails(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> PhoneLineDetails: ...
    @_property
    def default_outgoing_line(self) -> bool: ...
    @_property
    def display_name(self) -> str: ...
    @_property
    def line_id(self) -> _uuid.UUID: ...
    @_property
    def line_number(self) -> str: ...
    @_property
    def registration_state(self) -> PhoneLineRegistrationState: ...
    @_property
    def voicemail_count(self) -> winrt.system.UInt32: ...
    @_property
    def missed_call_count(self) -> winrt.system.UInt32: ...

class PhoneNotificationTriggerDetails(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> PhoneNotificationTriggerDetails: ...
    @_property
    def started_processing(self) -> bool: ...
    @started_processing.setter
    def started_processing(self, value: bool) -> None: ...
    @_property
    def accessory_notification_type(self) -> AccessoryNotificationType: ...
    @_property
    def app_display_name(self) -> str: ...
    @_property
    def app_id(self) -> str: ...
    @_property
    def time_created(self) -> datetime.datetime: ...
    @_property
    def call_details(self) -> typing.Optional[PhoneCallDetails]: ...
    @_property
    def phone_line_changed_id(self) -> _uuid.UUID: ...
    @_property
    def phone_notification_type(self) -> PhoneNotificationType: ...

class ReminderNotificationTriggerDetails(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> ReminderNotificationTriggerDetails: ...
    @_property
    def started_processing(self) -> bool: ...
    @started_processing.setter
    def started_processing(self, value: bool) -> None: ...
    @_property
    def accessory_notification_type(self) -> AccessoryNotificationType: ...
    @_property
    def app_display_name(self) -> str: ...
    @_property
    def app_id(self) -> str: ...
    @_property
    def time_created(self) -> datetime.datetime: ...
    @_property
    def appointment(self) -> typing.Optional[winrt.windows.applicationmodel.appointments.Appointment]: ...
    @_property
    def description(self) -> str: ...
    @_property
    def details(self) -> str: ...
    @_property
    def reminder_id(self) -> _uuid.UUID: ...
    @_property
    def reminder_state(self) -> ReminderState: ...
    @_property
    def timestamp(self) -> datetime.datetime: ...
    @_property
    def title(self) -> str: ...
    @_property
    def instance_id(self) -> str: ...

class SpeedDialEntry(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> SpeedDialEntry: ...
    @_property
    def contact_name(self) -> str: ...
    @_property
    def number_type(self) -> str: ...
    @_property
    def phone_number(self) -> str: ...

class TextResponse(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> TextResponse: ...
    @_property
    def content(self) -> str: ...
    @_property
    def id(self) -> winrt.system.UInt32: ...

class ToastNotificationTriggerDetails(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> ToastNotificationTriggerDetails: ...
    @_property
    def started_processing(self) -> bool: ...
    @started_processing.setter
    def started_processing(self, value: bool) -> None: ...
    @_property
    def accessory_notification_type(self) -> AccessoryNotificationType: ...
    @_property
    def app_display_name(self) -> str: ...
    @_property
    def app_id(self) -> str: ...
    @_property
    def time_created(self) -> datetime.datetime: ...
    @_property
    def suppress_popup(self) -> bool: ...
    @_property
    def text1(self) -> str: ...
    @_property
    def text2(self) -> str: ...
    @_property
    def text3(self) -> str: ...
    @_property
    def text4(self) -> str: ...
    @_property
    def instance_id(self) -> str: ...

class VolumeInfo(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> VolumeInfo: ...
    @_property
    def call_volume(self) -> winrt.system.UInt32: ...
    @_property
    def is_muted(self) -> bool: ...
    @_property
    def is_vibrate_enabled(self) -> VibrateState: ...
    @_property
    def media_volume(self) -> winrt.system.UInt32: ...
    @_property
    def system_volume(self) -> winrt.system.UInt32: ...

class IAccessoryNotificationTriggerDetails(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> IAccessoryNotificationTriggerDetails: ...
    @_property
    def accessory_notification_type(self) -> AccessoryNotificationType: ...
    @_property
    def app_display_name(self) -> str: ...
    @_property
    def app_id(self) -> str: ...
    @_property
    def started_processing(self) -> bool: ...
    @started_processing.setter
    def started_processing(self, value: bool) -> None: ...
    @_property
    def time_created(self) -> datetime.datetime: ...

