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

import datetime
import sys
import types
import typing

import winsdk.system
import winsdk.windows.applicationmodel.userdatatasks
import winsdk.windows.foundation

Self = typing.TypeVar('Self')

class UserDataTaskDataProviderConnection(winsdk.system.Object):
    @staticmethod
    def _from(obj: winsdk.system.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(winsdk.system.Object):
    connection: typing.Optional[UserDataTaskDataProviderConnection]
    @staticmethod
    def _from(obj: winsdk.system.Object) -> UserDataTaskDataProviderTriggerDetails: ...

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

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

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

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

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

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

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

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

class UserDataTaskListSyncManagerSyncRequest(winsdk.system.Object):
    task_list_id: str
    @staticmethod
    def _from(obj: winsdk.system.Object) -> UserDataTaskListSyncManagerSyncRequest: ...
    def report_completed_async(self) -> winsdk.windows.foundation.IAsyncAction: ...
    def report_failed_async(self) -> winsdk.windows.foundation.IAsyncAction: ...

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

