# WARNING: Please don't edit this file. It was generated by Python/WinRT v3.2.1

import enum
import typing
import uuid as _uuid

import winrt.system
from winrt._winrt_windows_storage_provider import (
    CachedFileUpdater,
    CachedFileUpdaterUI,
    FileUpdateRequest,
    FileUpdateRequestDeferral,
    FileUpdateRequestedEventArgs,
    StorageProviderFileTypeInfo,
    StorageProviderGetContentInfoForPathResult,
    StorageProviderGetPathForContentUriResult,
    StorageProviderItemProperties,
    StorageProviderItemProperty,
    StorageProviderItemPropertyDefinition,
    StorageProviderKnownFolderEntry,
    StorageProviderKnownFolderSyncInfo,
    StorageProviderKnownFolderSyncRequestArgs,
    StorageProviderMoreInfoUI,
    StorageProviderQueryResultSet,
    StorageProviderQuotaUI,
    StorageProviderSearchQueryOptions,
    StorageProviderSearchResult,
    StorageProviderStatusUI,
    StorageProviderSyncRootInfo,
    StorageProviderSyncRootManager,
    _IStorageProviderItemPropertySource,
    IStorageProviderItemPropertySource,
    _IStorageProviderKnownFolderSyncInfoSource,
    IStorageProviderKnownFolderSyncInfoSource,
    _IStorageProviderKnownFolderSyncInfoSourceFactory,
    IStorageProviderKnownFolderSyncInfoSourceFactory,
    _IStorageProviderPropertyCapabilities,
    IStorageProviderPropertyCapabilities,
    _IStorageProviderQueryResult,
    IStorageProviderQueryResult,
    _IStorageProviderSearchHandler,
    IStorageProviderSearchHandler,
    _IStorageProviderSearchHandlerFactory,
    IStorageProviderSearchHandlerFactory,
    _IStorageProviderShareLinkSource,
    IStorageProviderShareLinkSource,
    _IStorageProviderStatusUISource,
    IStorageProviderStatusUISource,
    _IStorageProviderStatusUISourceFactory,
    IStorageProviderStatusUISourceFactory,
    _IStorageProviderUICommand,
    IStorageProviderUICommand,
    _IStorageProviderUriSource,
    IStorageProviderUriSource,
)

__all__ = [
    "CachedFileOptions",
    "CachedFileTarget",
    "FileUpdateStatus",
    "ReadActivationMode",
    "StorageProviderHardlinkPolicy",
    "StorageProviderHydrationPolicy",
    "StorageProviderHydrationPolicyModifier",
    "StorageProviderInSyncPolicy",
    "StorageProviderKnownFolderSyncStatus",
    "StorageProviderPopulationPolicy",
    "StorageProviderProtectionMode",
    "StorageProviderResultKind",
    "StorageProviderResultUsageKind",
    "StorageProviderSearchMatchKind",
    "StorageProviderSearchQueryStatus",
    "StorageProviderShareLinkState",
    "StorageProviderState",
    "StorageProviderUICommandState",
    "StorageProviderUriSourceStatus",
    "UIStatus",
    "WriteActivationMode",
    "CachedFileUpdater",
    "CachedFileUpdaterUI",
    "FileUpdateRequest",
    "FileUpdateRequestDeferral",
    "FileUpdateRequestedEventArgs",
    "StorageProviderFileTypeInfo",
    "StorageProviderGetContentInfoForPathResult",
    "StorageProviderGetPathForContentUriResult",
    "StorageProviderItemProperties",
    "StorageProviderItemProperty",
    "StorageProviderItemPropertyDefinition",
    "StorageProviderKnownFolderEntry",
    "StorageProviderKnownFolderSyncInfo",
    "StorageProviderKnownFolderSyncRequestArgs",
    "StorageProviderMoreInfoUI",
    "StorageProviderQueryResultSet",
    "StorageProviderQuotaUI",
    "StorageProviderSearchQueryOptions",
    "StorageProviderSearchResult",
    "StorageProviderStatusUI",
    "StorageProviderSyncRootInfo",
    "StorageProviderSyncRootManager",
    "IStorageProviderItemPropertySource",
    "IStorageProviderKnownFolderSyncInfoSource",
    "IStorageProviderKnownFolderSyncInfoSourceFactory",
    "IStorageProviderPropertyCapabilities",
    "IStorageProviderQueryResult",
    "IStorageProviderSearchHandler",
    "IStorageProviderSearchHandlerFactory",
    "IStorageProviderShareLinkSource",
    "IStorageProviderStatusUISource",
    "IStorageProviderStatusUISourceFactory",
    "IStorageProviderUICommand",
    "IStorageProviderUriSource",
    "StorageProviderKnownFolderSyncRequestedHandler",
]

class CachedFileOptions(enum.IntFlag):
    NONE = 0x0
    REQUIRE_UPDATE_ON_ACCESS = 0x1
    USE_CACHED_FILE_WHEN_OFFLINE = 0x2
    DENY_ACCESS_WHEN_OFFLINE = 0x4

class CachedFileTarget(enum.IntEnum):
    LOCAL = 0
    REMOTE = 1

class FileUpdateStatus(enum.IntEnum):
    INCOMPLETE = 0
    COMPLETE = 1
    USER_INPUT_NEEDED = 2
    CURRENTLY_UNAVAILABLE = 3
    FAILED = 4
    COMPLETE_AND_RENAMED = 5

class ReadActivationMode(enum.IntEnum):
    NOT_NEEDED = 0
    BEFORE_ACCESS = 1

class StorageProviderHardlinkPolicy(enum.IntFlag):
    NONE = 0x0
    ALLOWED = 0x1

class StorageProviderHydrationPolicy(enum.IntEnum):
    PARTIAL = 0
    PROGRESSIVE = 1
    FULL = 2
    ALWAYS_FULL = 3

class StorageProviderHydrationPolicyModifier(enum.IntFlag):
    NONE = 0x0
    VALIDATION_REQUIRED = 0x1
    STREAMING_ALLOWED = 0x2
    AUTO_DEHYDRATION_ALLOWED = 0x4
    ALLOW_FULL_RESTART_HYDRATION = 0x8

class StorageProviderInSyncPolicy(enum.IntFlag):
    DEFAULT = 0x0
    FILE_CREATION_TIME = 0x1
    FILE_READ_ONLY_ATTRIBUTE = 0x2
    FILE_HIDDEN_ATTRIBUTE = 0x4
    FILE_SYSTEM_ATTRIBUTE = 0x8
    DIRECTORY_CREATION_TIME = 0x10
    DIRECTORY_READ_ONLY_ATTRIBUTE = 0x20
    DIRECTORY_HIDDEN_ATTRIBUTE = 0x40
    DIRECTORY_SYSTEM_ATTRIBUTE = 0x80
    FILE_LAST_WRITE_TIME = 0x100
    DIRECTORY_LAST_WRITE_TIME = 0x200
    PRESERVE_INSYNC_FOR_SYNC_ENGINE = 0x80000000

class StorageProviderKnownFolderSyncStatus(enum.IntEnum):
    AVAILABLE = 0
    ENROLLING = 1
    ENROLLED = 2

class StorageProviderPopulationPolicy(enum.IntEnum):
    FULL = 1
    ALWAYS_FULL = 2

class StorageProviderProtectionMode(enum.IntEnum):
    UNKNOWN = 0
    PERSONAL = 1

class StorageProviderResultKind(enum.IntEnum):
    SEARCH = 0
    RECOMMENDED = 1
    FAVORITES = 2
    RECENT = 3
    SHARED = 4
    RELATED_FILES = 5
    RELATED_CONVERSATIONS = 6

class StorageProviderResultUsageKind(enum.IntEnum):
    RENDERED = 0
    OPENED = 1
    SUGGESTION_RESPONSE_RECEIVED = 2

class StorageProviderSearchMatchKind(enum.IntEnum):
    LEXICAL = 0
    SEMANTIC = 1

class StorageProviderSearchQueryStatus(enum.IntEnum):
    SUCCESS = 0
    ERROR = 1
    TIMEOUT = 2
    NO_NETWORK = 3
    NETWORK_ERROR = 4
    NOT_SIGNED_IN = 5
    QUERY_NOT_SUPPORTED = 6
    SORT_ORDER_NOT_SUPPORTED = 7

class StorageProviderShareLinkState(enum.IntEnum):
    ENABLED = 0
    DISABLED = 1

class StorageProviderState(enum.IntEnum):
    IN_SYNC = 0
    SYNCING = 1
    PAUSED = 2
    ERROR = 3
    WARNING = 4
    OFFLINE = 5

class StorageProviderUICommandState(enum.IntEnum):
    ENABLED = 0
    DISABLED = 1
    HIDDEN = 2

class StorageProviderUriSourceStatus(enum.IntEnum):
    SUCCESS = 0
    NO_SYNC_ROOT = 1
    FILE_NOT_FOUND = 2

class UIStatus(enum.IntEnum):
    UNAVAILABLE = 0
    HIDDEN = 1
    VISIBLE = 2
    COMPLETE = 3

class WriteActivationMode(enum.IntEnum):
    READ_ONLY = 0
    NOT_NEEDED = 1
    AFTER_WRITE = 2

StorageProviderKnownFolderSyncRequestedHandler = typing.Callable[[StorageProviderKnownFolderSyncRequestArgs], None]
