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

import datetime
import sys
import types
import typing

import winsdk._winrt as _winrt
import winsdk.windows.applicationmodel.userdatatasks
import winsdk.windows.foundation

Self = typing.TypeVar('Self')

class UserDataTaskDataProviderConnection(_winrt.Object):
    @staticmethod
    def _from(obj: _winrt.Object) -> UserDataTaskDataProviderConnection: ...
    def start(self) -> None: ...
    def add_complete_task_requested(self, handler: winsdk.windows.foundation.TypedEventHandler[UserDataTaskDataProviderConnection, UserDataTaskListCompleteTaskRequestEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    def remove_complete_task_requested(self, token: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    def add_create_or_update_task_requested(self, handler: winsdk.windows.foundation.TypedEventHandler[UserDataTaskDataProviderConnection, UserDataTaskListCreateOrUpdateTaskRequestEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    def remove_create_or_update_task_requested(self, token: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    def add_delete_task_requested(self, handler: winsdk.windows.foundation.TypedEventHandler[UserDataTaskDataProviderConnection, UserDataTaskListDeleteTaskRequestEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    def remove_delete_task_requested(self, token: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    def add_skip_occurrence_requested(self, handler: winsdk.windows.foundation.TypedEventHandler[UserDataTaskDataProviderConnection, UserDataTaskListSkipOccurrenceRequestEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    def remove_skip_occurrence_requested(self, token: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    def add_sync_requested(self, handler: winsdk.windows.foundation.TypedEventHandler[UserDataTaskDataProviderConnection, UserDataTaskListSyncManagerSyncRequestEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    def remove_sync_requested(self, token: winsdk.windows.foundation.EventRegistrationToken) -> None: ...

class UserDataTaskDataProviderTriggerDetails(_winrt.Object):
    connection: typing.Optional[UserDataTaskDataProviderConnection]
    @staticmethod
    def _from(obj: _winrt.Object) -> UserDataTaskDataProviderTriggerDetails: ...

class UserDataTaskListCompleteTaskRequest(_winrt.Object):
    task_id: str
    task_list_id: str
    @staticmethod
    def _from(obj: _winrt.Object) -> UserDataTaskListCompleteTaskRequest: ...
    def report_completed_async(self, completed_task_id: str) -> typing.Optional[winsdk.windows.foundation.IAsyncAction]: ...
    def report_failed_async(self) -> typing.Optional[winsdk.windows.foundation.IAsyncAction]: ...

class UserDataTaskListCompleteTaskRequestEventArgs(_winrt.Object):
    request: typing.Optional[UserDataTaskListCompleteTaskRequest]
    @staticmethod
    def _from(obj: _winrt.Object) -> UserDataTaskListCompleteTaskRequestEventArgs: ...
    def get_deferral(self) -> typing.Optional[winsdk.windows.foundation.Deferral]: ...

class UserDataTaskListCreateOrUpdateTaskRequest(_winrt.Object):
    task: typing.Optional[winsdk.windows.applicationmodel.userdatatasks.UserDataTask]
    task_list_id: str
    @staticmethod
    def _from(obj: _winrt.Object) -> UserDataTaskListCreateOrUpdateTaskRequest: ...
    def report_completed_async(self, created_or_updated_user_data_task: typing.Optional[winsdk.windows.applicationmodel.userdatatasks.UserDataTask]) -> typing.Optional[winsdk.windows.foundation.IAsyncAction]: ...
    def report_failed_async(self) -> typing.Optional[winsdk.windows.foundation.IAsyncAction]: ...

class UserDataTaskListCreateOrUpdateTaskRequestEventArgs(_winrt.Object):
    request: typing.Optional[UserDataTaskListCreateOrUpdateTaskRequest]
    @staticmethod
    def _from(obj: _winrt.Object) -> UserDataTaskListCreateOrUpdateTaskRequestEventArgs: ...
    def get_deferral(self) -> typing.Optional[winsdk.windows.foundation.Deferral]: ...

class UserDataTaskListDeleteTaskRequest(_winrt.Object):
    task_id: str
    task_list_id: str
    @staticmethod
    def _from(obj: _winrt.Object) -> UserDataTaskListDeleteTaskRequest: ...
    def report_completed_async(self) -> typing.Optional[winsdk.windows.foundation.IAsyncAction]: ...
    def report_failed_async(self) -> typing.Optional[winsdk.windows.foundation.IAsyncAction]: ...

class UserDataTaskListDeleteTaskRequestEventArgs(_winrt.Object):
    request: typing.Optional[UserDataTaskListDeleteTaskRequest]
    @staticmethod
    def _from(obj: _winrt.Object) -> UserDataTaskListDeleteTaskRequestEventArgs: ...
    def get_deferral(self) -> typing.Optional[winsdk.windows.foundation.Deferral]: ...

class UserDataTaskListSkipOccurrenceRequest(_winrt.Object):
    task_id: str
    task_list_id: str
    @staticmethod
    def _from(obj: _winrt.Object) -> UserDataTaskListSkipOccurrenceRequest: ...
    def report_completed_async(self) -> typing.Optional[winsdk.windows.foundation.IAsyncAction]: ...
    def report_failed_async(self) -> typing.Optional[winsdk.windows.foundation.IAsyncAction]: ...

class UserDataTaskListSkipOccurrenceRequestEventArgs(_winrt.Object):
    request: typing.Optional[UserDataTaskListSkipOccurrenceRequest]
    @staticmethod
    def _from(obj: _winrt.Object) -> UserDataTaskListSkipOccurrenceRequestEventArgs: ...
    def get_deferral(self) -> typing.Optional[winsdk.windows.foundation.Deferral]: ...

class UserDataTaskListSyncManagerSyncRequest(_winrt.Object):
    task_list_id: str
    @staticmethod
    def _from(obj: _winrt.Object) -> UserDataTaskListSyncManagerSyncRequest: ...
    def report_completed_async(self) -> typing.Optional[winsdk.windows.foundation.IAsyncAction]: ...
    def report_failed_async(self) -> typing.Optional[winsdk.windows.foundation.IAsyncAction]: ...

class UserDataTaskListSyncManagerSyncRequestEventArgs(_winrt.Object):
    request: typing.Optional[UserDataTaskListSyncManagerSyncRequest]
    @staticmethod
    def _from(obj: _winrt.Object) -> UserDataTaskListSyncManagerSyncRequestEventArgs: ...
    def get_deferral(self) -> typing.Optional[winsdk.windows.foundation.Deferral]: ...

