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

import enum
import datetime
import sys
import types
import typing

import winsdk.system
import winsdk.windows.applicationmodel.userdataaccounts
import winsdk.windows.foundation.collections

class UserDataAccountProviderOperationKind(enum.IntEnum):
    ADD_ACCOUNT = 0
    SETTINGS = 1
    RESOLVE_ERRORS = 2

class UserDataAccountProviderPartnerAccountKind(enum.IntEnum):
    EXCHANGE = 0
    POP_OR_IMAP = 1

Self = typing.TypeVar('Self')

class UserDataAccountPartnerAccountInfo(winsdk.system.Object):
    account_kind: UserDataAccountProviderPartnerAccountKind
    display_name: str
    priority: winsdk.system.UInt32
    @staticmethod
    def _from(obj: winsdk.system.Object, /) -> UserDataAccountPartnerAccountInfo: ...

class UserDataAccountProviderAddAccountOperation(winsdk.system.Object):
    content_kinds: winsdk.windows.applicationmodel.userdataaccounts.UserDataAccountContentKinds
    partner_account_infos: typing.Optional[winsdk.windows.foundation.collections.IVectorView[UserDataAccountPartnerAccountInfo]]
    kind: UserDataAccountProviderOperationKind
    @staticmethod
    def _from(obj: winsdk.system.Object, /) -> UserDataAccountProviderAddAccountOperation: ...
    def report_completed(self, user_data_account_id: str, /) -> None: ...

class UserDataAccountProviderResolveErrorsOperation(winsdk.system.Object):
    kind: UserDataAccountProviderOperationKind
    user_data_account_id: str
    @staticmethod
    def _from(obj: winsdk.system.Object, /) -> UserDataAccountProviderResolveErrorsOperation: ...
    def report_completed(self) -> None: ...

class UserDataAccountProviderSettingsOperation(winsdk.system.Object):
    kind: UserDataAccountProviderOperationKind
    user_data_account_id: str
    @staticmethod
    def _from(obj: winsdk.system.Object, /) -> UserDataAccountProviderSettingsOperation: ...
    def report_completed(self) -> None: ...

class IUserDataAccountProviderOperation(winsdk.system.Object):
    kind: UserDataAccountProviderOperationKind
    @staticmethod
    def _from(obj: winsdk.system.Object, /) -> IUserDataAccountProviderOperation: ...

