# 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.foundation
except Exception:
    pass

try:
    import winsdk.windows.storage.streams
except Exception:
    pass

class DataProtectionProvider(_winrt.Object):
    @staticmethod
    def _from(obj: _winrt.Object) -> DataProtectionProvider: ...
    @typing.overload
    def __init__(self, protection_descriptor: str) -> None: ...
    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def protect_async(self, data: winsdk.windows.storage.streams.IBuffer) -> winsdk.windows.foundation.IAsyncOperation[winsdk.windows.storage.streams.IBuffer]: ...
    @typing.overload
    def protect_stream_async(self, src: winsdk.windows.storage.streams.IInputStream, dest: winsdk.windows.storage.streams.IOutputStream) -> winsdk.windows.foundation.IAsyncAction: ...
    @typing.overload
    def unprotect_async(self, data: winsdk.windows.storage.streams.IBuffer) -> winsdk.windows.foundation.IAsyncOperation[winsdk.windows.storage.streams.IBuffer]: ...
    @typing.overload
    def unprotect_stream_async(self, src: winsdk.windows.storage.streams.IInputStream, dest: winsdk.windows.storage.streams.IOutputStream) -> winsdk.windows.foundation.IAsyncAction: ...

