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

import sys
import types
import typing
import uuid

import winsdk._winrt as _winrt

try:
    import winsdk.windows.applicationmodel.userdatatasks
except Exception:
    pass

try:
    import winsdk.windows.foundation
except Exception:
    pass

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

class UserDataTaskDataProviderTriggerDetails(_winrt.Object):
    connection: 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: ...
    @typing.overload
    def report_completed_async(self, completed_task_id: str) -> winsdk.windows.foundation.IAsyncAction: ...
    @typing.overload
    def report_failed_async(self) -> winsdk.windows.foundation.IAsyncAction: ...

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

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

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

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

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

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

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

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

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

