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

import datetime
import sys
import types
import typing
import uuid as _uuid
from builtins import property as _property
from abc import abstractmethod

import winrt._winrt
import winrt.system
import winrt.windows.foundation as windows_foundation
import winrt.windows.foundation.collections as windows_foundation_collections
import winrt.windows.graphics.directx.direct3d11 as windows_graphics_directx_direct3d11
import winrt.windows.storage.streams as windows_storage_streams

from winrt.windows.graphics.imaging import BitmapAlphaMode, BitmapBufferAccessMode, BitmapFlip, BitmapInterpolationMode, BitmapPixelFormat, BitmapRotation, ColorManagementMode, ExifOrientationMode, JpegSubsamplingMode, PngFilterMode, TiffCompressionMode

Self = typing.TypeVar('Self')

@typing.final
class BitmapBounds:
    @_property
    def x(self) -> winrt.system.UInt32: ...
    @_property
    def y(self) -> winrt.system.UInt32: ...
    @_property
    def width(self) -> winrt.system.UInt32: ...
    @_property
    def height(self) -> winrt.system.UInt32: ...
    def __new__(cls, x: winrt.system.UInt32 = 0, y: winrt.system.UInt32 = 0, width: winrt.system.UInt32 = 0, height: winrt.system.UInt32 = 0) -> BitmapBounds: ...
    def __replace__(self, /, **changes: typing.Any) -> BitmapBounds: ...
    def unpack(self) -> typing.Tuple[winrt.system.UInt32, winrt.system.UInt32, winrt.system.UInt32, winrt.system.UInt32]: ...

@typing.final
class BitmapPlaneDescription:
    @_property
    def start_index(self) -> winrt.system.Int32: ...
    @_property
    def width(self) -> winrt.system.Int32: ...
    @_property
    def height(self) -> winrt.system.Int32: ...
    @_property
    def stride(self) -> winrt.system.Int32: ...
    def __new__(cls, start_index: winrt.system.Int32 = 0, width: winrt.system.Int32 = 0, height: winrt.system.Int32 = 0, stride: winrt.system.Int32 = 0) -> BitmapPlaneDescription: ...
    def __replace__(self, /, **changes: typing.Any) -> BitmapPlaneDescription: ...
    def unpack(self) -> typing.Tuple[winrt.system.Int32, winrt.system.Int32, winrt.system.Int32, winrt.system.Int32]: ...

@typing.final
class BitmapSize:
    @_property
    def width(self) -> winrt.system.UInt32: ...
    @_property
    def height(self) -> winrt.system.UInt32: ...
    def __new__(cls, width: winrt.system.UInt32 = 0, height: winrt.system.UInt32 = 0) -> BitmapSize: ...
    def __replace__(self, /, **changes: typing.Any) -> BitmapSize: ...
    def unpack(self) -> typing.Tuple[winrt.system.UInt32, winrt.system.UInt32]: ...

@typing.final
class BitmapBuffer(winrt.system.Object, windows_foundation.IMemoryBuffer, windows_foundation.IClosable):
    def __enter__(self: Self) -> Self: ...
    def __exit__(self, exc_type: typing.Optional[typing.Type[BaseException]], exc_value: typing.Optional[BaseException], traceback: typing.Optional[types.TracebackType]) -> None: ...
    # System.Void Windows.Graphics.Imaging.BitmapBuffer::Close()
    def close(self) -> None: ...
    # Windows.Foundation.IMemoryBufferReference Windows.Graphics.Imaging.BitmapBuffer::CreateReference()
    def create_reference(self) -> windows_foundation.IMemoryBufferReference: ...
    # System.Int32 Windows.Graphics.Imaging.BitmapBuffer::GetPlaneCount()
    def get_plane_count(self) -> winrt.system.Int32: ...
    # Windows.Graphics.Imaging.BitmapPlaneDescription Windows.Graphics.Imaging.BitmapBuffer::GetPlaneDescription(System.Int32)
    def get_plane_description(self, index: winrt.system.Int32, /) -> BitmapPlaneDescription: ...

@typing.final
class BitmapCodecInformation(winrt.system.Object):
    # System.Guid Windows.Graphics.Imaging.BitmapCodecInformation::get_CodecId()
    @_property
    def codec_id(self) -> _uuid.UUID: ...
    # Windows.Foundation.Collections.IVectorView`1<System.String> Windows.Graphics.Imaging.BitmapCodecInformation::get_FileExtensions()
    @_property
    def file_extensions(self) -> typing.Sequence[str]: ...
    # System.String Windows.Graphics.Imaging.BitmapCodecInformation::get_FriendlyName()
    @_property
    def friendly_name(self) -> str: ...
    # Windows.Foundation.Collections.IVectorView`1<System.String> Windows.Graphics.Imaging.BitmapCodecInformation::get_MimeTypes()
    @_property
    def mime_types(self) -> typing.Sequence[str]: ...

@typing.final
class BitmapDecoder_Static(winrt._winrt.IInspectable_Static):
    # Windows.Foundation.IAsyncOperation`1<Windows.Graphics.Imaging.BitmapDecoder> Windows.Graphics.Imaging.BitmapDecoder::CreateAsync(Windows.Storage.Streams.IRandomAccessStream)
    def create_async(cls, stream: windows_storage_streams.IRandomAccessStream, /) -> windows_foundation.IAsyncOperation[BitmapDecoder]: ...
    # Windows.Foundation.IAsyncOperation`1<Windows.Graphics.Imaging.BitmapDecoder> Windows.Graphics.Imaging.BitmapDecoder::CreateAsync(System.Guid,Windows.Storage.Streams.IRandomAccessStream)
    def create_with_id_async(cls, decoder_id: _uuid.UUID, stream: windows_storage_streams.IRandomAccessStream, /) -> windows_foundation.IAsyncOperation[BitmapDecoder]: ...
    # Windows.Foundation.Collections.IVectorView`1<Windows.Graphics.Imaging.BitmapCodecInformation> Windows.Graphics.Imaging.BitmapDecoder::GetDecoderInformationEnumerator()
    def get_decoder_information_enumerator(cls) -> typing.Sequence[BitmapCodecInformation]: ...
    # System.Guid Windows.Graphics.Imaging.BitmapDecoder::get_BmpDecoderId()
    @_property
    def bmp_decoder_id(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Graphics.Imaging.BitmapDecoder::get_GifDecoderId()
    @_property
    def gif_decoder_id(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Graphics.Imaging.BitmapDecoder::get_IcoDecoderId()
    @_property
    def ico_decoder_id(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Graphics.Imaging.BitmapDecoder::get_JpegDecoderId()
    @_property
    def jpeg_decoder_id(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Graphics.Imaging.BitmapDecoder::get_JpegXRDecoderId()
    @_property
    def jpeg_x_r_decoder_id(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Graphics.Imaging.BitmapDecoder::get_PngDecoderId()
    @_property
    def png_decoder_id(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Graphics.Imaging.BitmapDecoder::get_TiffDecoderId()
    @_property
    def tiff_decoder_id(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Graphics.Imaging.BitmapDecoder::get_HeifDecoderId()
    @_property
    def heif_decoder_id(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Graphics.Imaging.BitmapDecoder::get_WebpDecoderId()
    @_property
    def webp_decoder_id(cls) -> _uuid.UUID: ...

@typing.final
class BitmapDecoder(winrt.system.Object, IBitmapFrameWithSoftwareBitmap, IBitmapFrame, metaclass=BitmapDecoder_Static):
    # Windows.Foundation.IAsyncOperation`1<Windows.Graphics.Imaging.BitmapFrame> Windows.Graphics.Imaging.BitmapDecoder::GetFrameAsync(System.UInt32)
    def get_frame_async(self, frame_index: winrt.system.UInt32, /) -> windows_foundation.IAsyncOperation[BitmapFrame]: ...
    # Windows.Foundation.IAsyncOperation`1<Windows.Graphics.Imaging.PixelDataProvider> Windows.Graphics.Imaging.BitmapDecoder::GetPixelDataAsync()
    def get_pixel_data_async(self) -> windows_foundation.IAsyncOperation[PixelDataProvider]: ...
    # Windows.Foundation.IAsyncOperation`1<Windows.Graphics.Imaging.PixelDataProvider> Windows.Graphics.Imaging.BitmapDecoder::GetPixelDataAsync(Windows.Graphics.Imaging.BitmapPixelFormat,Windows.Graphics.Imaging.BitmapAlphaMode,Windows.Graphics.Imaging.BitmapTransform,Windows.Graphics.Imaging.ExifOrientationMode,Windows.Graphics.Imaging.ColorManagementMode)
    def get_pixel_data_transformed_async(self, pixel_format: BitmapPixelFormat, alpha_mode: BitmapAlphaMode, transform: BitmapTransform, exif_orientation_mode: ExifOrientationMode, color_management_mode: ColorManagementMode, /) -> windows_foundation.IAsyncOperation[PixelDataProvider]: ...
    # Windows.Foundation.IAsyncOperation`1<Windows.Graphics.Imaging.ImageStream> Windows.Graphics.Imaging.BitmapDecoder::GetPreviewAsync()
    def get_preview_async(self) -> windows_foundation.IAsyncOperation[ImageStream]: ...
    # Windows.Foundation.IAsyncOperation`1<Windows.Graphics.Imaging.SoftwareBitmap> Windows.Graphics.Imaging.BitmapDecoder::GetSoftwareBitmapAsync()
    def get_software_bitmap_async(self) -> windows_foundation.IAsyncOperation[SoftwareBitmap]: ...
    # Windows.Foundation.IAsyncOperation`1<Windows.Graphics.Imaging.SoftwareBitmap> Windows.Graphics.Imaging.BitmapDecoder::GetSoftwareBitmapAsync(Windows.Graphics.Imaging.BitmapPixelFormat,Windows.Graphics.Imaging.BitmapAlphaMode)
    def get_software_bitmap_converted_async(self, pixel_format: BitmapPixelFormat, alpha_mode: BitmapAlphaMode, /) -> windows_foundation.IAsyncOperation[SoftwareBitmap]: ...
    # Windows.Foundation.IAsyncOperation`1<Windows.Graphics.Imaging.SoftwareBitmap> Windows.Graphics.Imaging.BitmapDecoder::GetSoftwareBitmapAsync(Windows.Graphics.Imaging.BitmapPixelFormat,Windows.Graphics.Imaging.BitmapAlphaMode,Windows.Graphics.Imaging.BitmapTransform,Windows.Graphics.Imaging.ExifOrientationMode,Windows.Graphics.Imaging.ColorManagementMode)
    def get_software_bitmap_transformed_async(self, pixel_format: BitmapPixelFormat, alpha_mode: BitmapAlphaMode, transform: BitmapTransform, exif_orientation_mode: ExifOrientationMode, color_management_mode: ColorManagementMode, /) -> windows_foundation.IAsyncOperation[SoftwareBitmap]: ...
    # Windows.Foundation.IAsyncOperation`1<Windows.Graphics.Imaging.ImageStream> Windows.Graphics.Imaging.BitmapDecoder::GetThumbnailAsync()
    def get_thumbnail_async(self) -> windows_foundation.IAsyncOperation[ImageStream]: ...
    # Windows.Graphics.Imaging.BitmapPropertiesView Windows.Graphics.Imaging.BitmapDecoder::get_BitmapContainerProperties()
    @_property
    def bitmap_container_properties(self) -> BitmapPropertiesView: ...
    # Windows.Graphics.Imaging.BitmapCodecInformation Windows.Graphics.Imaging.BitmapDecoder::get_DecoderInformation()
    @_property
    def decoder_information(self) -> BitmapCodecInformation: ...
    # System.UInt32 Windows.Graphics.Imaging.BitmapDecoder::get_FrameCount()
    @_property
    def frame_count(self) -> winrt.system.UInt32: ...
    # Windows.Graphics.Imaging.BitmapAlphaMode Windows.Graphics.Imaging.BitmapDecoder::get_BitmapAlphaMode()
    @_property
    def bitmap_alpha_mode(self) -> BitmapAlphaMode: ...
    # Windows.Graphics.Imaging.BitmapPixelFormat Windows.Graphics.Imaging.BitmapDecoder::get_BitmapPixelFormat()
    @_property
    def bitmap_pixel_format(self) -> BitmapPixelFormat: ...
    # Windows.Graphics.Imaging.BitmapPropertiesView Windows.Graphics.Imaging.BitmapDecoder::get_BitmapProperties()
    @_property
    def bitmap_properties(self) -> BitmapPropertiesView: ...
    # System.Double Windows.Graphics.Imaging.BitmapDecoder::get_DpiX()
    @_property
    def dpi_x(self) -> winrt.system.Double: ...
    # System.Double Windows.Graphics.Imaging.BitmapDecoder::get_DpiY()
    @_property
    def dpi_y(self) -> winrt.system.Double: ...
    # System.UInt32 Windows.Graphics.Imaging.BitmapDecoder::get_OrientedPixelHeight()
    @_property
    def oriented_pixel_height(self) -> winrt.system.UInt32: ...
    # System.UInt32 Windows.Graphics.Imaging.BitmapDecoder::get_OrientedPixelWidth()
    @_property
    def oriented_pixel_width(self) -> winrt.system.UInt32: ...
    # System.UInt32 Windows.Graphics.Imaging.BitmapDecoder::get_PixelHeight()
    @_property
    def pixel_height(self) -> winrt.system.UInt32: ...
    # System.UInt32 Windows.Graphics.Imaging.BitmapDecoder::get_PixelWidth()
    @_property
    def pixel_width(self) -> winrt.system.UInt32: ...

@typing.final
class BitmapEncoder_Static(winrt._winrt.IInspectable_Static):
    # Windows.Foundation.IAsyncOperation`1<Windows.Graphics.Imaging.BitmapEncoder> Windows.Graphics.Imaging.BitmapEncoder::CreateAsync(System.Guid,Windows.Storage.Streams.IRandomAccessStream)
    def create_async(cls, encoder_id: _uuid.UUID, stream: windows_storage_streams.IRandomAccessStream, /) -> windows_foundation.IAsyncOperation[BitmapEncoder]: ...
    # Windows.Foundation.IAsyncOperation`1<Windows.Graphics.Imaging.BitmapEncoder> Windows.Graphics.Imaging.BitmapEncoder::CreateForInPlacePropertyEncodingAsync(Windows.Graphics.Imaging.BitmapDecoder)
    def create_for_in_place_property_encoding_async(cls, bitmap_decoder: BitmapDecoder, /) -> windows_foundation.IAsyncOperation[BitmapEncoder]: ...
    # Windows.Foundation.IAsyncOperation`1<Windows.Graphics.Imaging.BitmapEncoder> Windows.Graphics.Imaging.BitmapEncoder::CreateForTranscodingAsync(Windows.Storage.Streams.IRandomAccessStream,Windows.Graphics.Imaging.BitmapDecoder)
    def create_for_transcoding_async(cls, stream: windows_storage_streams.IRandomAccessStream, bitmap_decoder: BitmapDecoder, /) -> windows_foundation.IAsyncOperation[BitmapEncoder]: ...
    # Windows.Foundation.IAsyncOperation`1<Windows.Graphics.Imaging.BitmapEncoder> Windows.Graphics.Imaging.BitmapEncoder::CreateAsync(System.Guid,Windows.Storage.Streams.IRandomAccessStream,Windows.Foundation.Collections.IIterable`1<Windows.Foundation.Collections.IKeyValuePair`2<System.String,Windows.Graphics.Imaging.BitmapTypedValue>>)
    def create_with_encoding_options_async(cls, encoder_id: _uuid.UUID, stream: windows_storage_streams.IRandomAccessStream, encoding_options: typing.Union[typing.Mapping[str, BitmapTypedValue], typing.Iterable[windows_foundation_collections.IKeyValuePair[str, BitmapTypedValue]]], /) -> windows_foundation.IAsyncOperation[BitmapEncoder]: ...
    # Windows.Foundation.Collections.IVectorView`1<Windows.Graphics.Imaging.BitmapCodecInformation> Windows.Graphics.Imaging.BitmapEncoder::GetEncoderInformationEnumerator()
    def get_encoder_information_enumerator(cls) -> typing.Sequence[BitmapCodecInformation]: ...
    # System.Guid Windows.Graphics.Imaging.BitmapEncoder::get_BmpEncoderId()
    @_property
    def bmp_encoder_id(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Graphics.Imaging.BitmapEncoder::get_GifEncoderId()
    @_property
    def gif_encoder_id(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Graphics.Imaging.BitmapEncoder::get_JpegEncoderId()
    @_property
    def jpeg_encoder_id(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Graphics.Imaging.BitmapEncoder::get_JpegXREncoderId()
    @_property
    def jpeg_x_r_encoder_id(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Graphics.Imaging.BitmapEncoder::get_PngEncoderId()
    @_property
    def png_encoder_id(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Graphics.Imaging.BitmapEncoder::get_TiffEncoderId()
    @_property
    def tiff_encoder_id(cls) -> _uuid.UUID: ...
    # System.Guid Windows.Graphics.Imaging.BitmapEncoder::get_HeifEncoderId()
    @_property
    def heif_encoder_id(cls) -> _uuid.UUID: ...

@typing.final
class BitmapEncoder(winrt.system.Object, metaclass=BitmapEncoder_Static):
    # Windows.Foundation.IAsyncAction Windows.Graphics.Imaging.BitmapEncoder::FlushAsync()
    def flush_async(self) -> windows_foundation.IAsyncAction: ...
    # Windows.Foundation.IAsyncAction Windows.Graphics.Imaging.BitmapEncoder::GoToNextFrameAsync()
    def go_to_next_frame_async(self) -> windows_foundation.IAsyncAction: ...
    # Windows.Foundation.IAsyncAction Windows.Graphics.Imaging.BitmapEncoder::GoToNextFrameAsync(Windows.Foundation.Collections.IIterable`1<Windows.Foundation.Collections.IKeyValuePair`2<System.String,Windows.Graphics.Imaging.BitmapTypedValue>>)
    def go_to_next_frame_with_encoding_options_async(self, encoding_options: typing.Union[typing.Mapping[str, BitmapTypedValue], typing.Iterable[windows_foundation_collections.IKeyValuePair[str, BitmapTypedValue]]], /) -> windows_foundation.IAsyncAction: ...
    # System.Void Windows.Graphics.Imaging.BitmapEncoder::SetPixelData(Windows.Graphics.Imaging.BitmapPixelFormat,Windows.Graphics.Imaging.BitmapAlphaMode,System.UInt32,System.UInt32,System.Double,System.Double,System.Byte[])
    def set_pixel_data(self, pixel_format: BitmapPixelFormat, alpha_mode: BitmapAlphaMode, width: winrt.system.UInt32, height: winrt.system.UInt32, dpi_x: winrt.system.Double, dpi_y: winrt.system.Double, pixels: typing.Union[winrt.system.Array[winrt.system.UInt8], winrt.system.ReadableBuffer], /) -> None: ...
    # System.Void Windows.Graphics.Imaging.BitmapEncoder::SetSoftwareBitmap(Windows.Graphics.Imaging.SoftwareBitmap)
    def set_software_bitmap(self, bitmap: SoftwareBitmap, /) -> None: ...
    # System.Boolean Windows.Graphics.Imaging.BitmapEncoder::get_IsThumbnailGenerated()
    @_property
    def is_thumbnail_generated(self) -> bool: ...
    # System.Void Windows.Graphics.Imaging.BitmapEncoder::put_IsThumbnailGenerated(System.Boolean)
    @is_thumbnail_generated.setter
    def is_thumbnail_generated(self, value: bool) -> None: ...
    # System.UInt32 Windows.Graphics.Imaging.BitmapEncoder::get_GeneratedThumbnailWidth()
    @_property
    def generated_thumbnail_width(self) -> winrt.system.UInt32: ...
    # System.Void Windows.Graphics.Imaging.BitmapEncoder::put_GeneratedThumbnailWidth(System.UInt32)
    @generated_thumbnail_width.setter
    def generated_thumbnail_width(self, value: winrt.system.UInt32) -> None: ...
    # System.UInt32 Windows.Graphics.Imaging.BitmapEncoder::get_GeneratedThumbnailHeight()
    @_property
    def generated_thumbnail_height(self) -> winrt.system.UInt32: ...
    # System.Void Windows.Graphics.Imaging.BitmapEncoder::put_GeneratedThumbnailHeight(System.UInt32)
    @generated_thumbnail_height.setter
    def generated_thumbnail_height(self, value: winrt.system.UInt32) -> None: ...
    # Windows.Graphics.Imaging.BitmapProperties Windows.Graphics.Imaging.BitmapEncoder::get_BitmapContainerProperties()
    @_property
    def bitmap_container_properties(self) -> BitmapProperties: ...
    # Windows.Graphics.Imaging.BitmapProperties Windows.Graphics.Imaging.BitmapEncoder::get_BitmapProperties()
    @_property
    def bitmap_properties(self) -> BitmapProperties: ...
    # Windows.Graphics.Imaging.BitmapTransform Windows.Graphics.Imaging.BitmapEncoder::get_BitmapTransform()
    @_property
    def bitmap_transform(self) -> BitmapTransform: ...
    # Windows.Graphics.Imaging.BitmapCodecInformation Windows.Graphics.Imaging.BitmapEncoder::get_EncoderInformation()
    @_property
    def encoder_information(self) -> BitmapCodecInformation: ...

@typing.final
class BitmapFrame(winrt.system.Object, IBitmapFrameWithSoftwareBitmap, IBitmapFrame):
    # Windows.Foundation.IAsyncOperation`1<Windows.Graphics.Imaging.PixelDataProvider> Windows.Graphics.Imaging.BitmapFrame::GetPixelDataAsync()
    def get_pixel_data_async(self) -> windows_foundation.IAsyncOperation[PixelDataProvider]: ...
    # Windows.Foundation.IAsyncOperation`1<Windows.Graphics.Imaging.PixelDataProvider> Windows.Graphics.Imaging.BitmapFrame::GetPixelDataAsync(Windows.Graphics.Imaging.BitmapPixelFormat,Windows.Graphics.Imaging.BitmapAlphaMode,Windows.Graphics.Imaging.BitmapTransform,Windows.Graphics.Imaging.ExifOrientationMode,Windows.Graphics.Imaging.ColorManagementMode)
    def get_pixel_data_transformed_async(self, pixel_format: BitmapPixelFormat, alpha_mode: BitmapAlphaMode, transform: BitmapTransform, exif_orientation_mode: ExifOrientationMode, color_management_mode: ColorManagementMode, /) -> windows_foundation.IAsyncOperation[PixelDataProvider]: ...
    # Windows.Foundation.IAsyncOperation`1<Windows.Graphics.Imaging.SoftwareBitmap> Windows.Graphics.Imaging.BitmapFrame::GetSoftwareBitmapAsync()
    def get_software_bitmap_async(self) -> windows_foundation.IAsyncOperation[SoftwareBitmap]: ...
    # Windows.Foundation.IAsyncOperation`1<Windows.Graphics.Imaging.SoftwareBitmap> Windows.Graphics.Imaging.BitmapFrame::GetSoftwareBitmapAsync(Windows.Graphics.Imaging.BitmapPixelFormat,Windows.Graphics.Imaging.BitmapAlphaMode)
    def get_software_bitmap_converted_async(self, pixel_format: BitmapPixelFormat, alpha_mode: BitmapAlphaMode, /) -> windows_foundation.IAsyncOperation[SoftwareBitmap]: ...
    # Windows.Foundation.IAsyncOperation`1<Windows.Graphics.Imaging.SoftwareBitmap> Windows.Graphics.Imaging.BitmapFrame::GetSoftwareBitmapAsync(Windows.Graphics.Imaging.BitmapPixelFormat,Windows.Graphics.Imaging.BitmapAlphaMode,Windows.Graphics.Imaging.BitmapTransform,Windows.Graphics.Imaging.ExifOrientationMode,Windows.Graphics.Imaging.ColorManagementMode)
    def get_software_bitmap_transformed_async(self, pixel_format: BitmapPixelFormat, alpha_mode: BitmapAlphaMode, transform: BitmapTransform, exif_orientation_mode: ExifOrientationMode, color_management_mode: ColorManagementMode, /) -> windows_foundation.IAsyncOperation[SoftwareBitmap]: ...
    # Windows.Foundation.IAsyncOperation`1<Windows.Graphics.Imaging.ImageStream> Windows.Graphics.Imaging.BitmapFrame::GetThumbnailAsync()
    def get_thumbnail_async(self) -> windows_foundation.IAsyncOperation[ImageStream]: ...
    # Windows.Graphics.Imaging.BitmapAlphaMode Windows.Graphics.Imaging.BitmapFrame::get_BitmapAlphaMode()
    @_property
    def bitmap_alpha_mode(self) -> BitmapAlphaMode: ...
    # Windows.Graphics.Imaging.BitmapPixelFormat Windows.Graphics.Imaging.BitmapFrame::get_BitmapPixelFormat()
    @_property
    def bitmap_pixel_format(self) -> BitmapPixelFormat: ...
    # Windows.Graphics.Imaging.BitmapPropertiesView Windows.Graphics.Imaging.BitmapFrame::get_BitmapProperties()
    @_property
    def bitmap_properties(self) -> BitmapPropertiesView: ...
    # System.Double Windows.Graphics.Imaging.BitmapFrame::get_DpiX()
    @_property
    def dpi_x(self) -> winrt.system.Double: ...
    # System.Double Windows.Graphics.Imaging.BitmapFrame::get_DpiY()
    @_property
    def dpi_y(self) -> winrt.system.Double: ...
    # System.UInt32 Windows.Graphics.Imaging.BitmapFrame::get_OrientedPixelHeight()
    @_property
    def oriented_pixel_height(self) -> winrt.system.UInt32: ...
    # System.UInt32 Windows.Graphics.Imaging.BitmapFrame::get_OrientedPixelWidth()
    @_property
    def oriented_pixel_width(self) -> winrt.system.UInt32: ...
    # System.UInt32 Windows.Graphics.Imaging.BitmapFrame::get_PixelHeight()
    @_property
    def pixel_height(self) -> winrt.system.UInt32: ...
    # System.UInt32 Windows.Graphics.Imaging.BitmapFrame::get_PixelWidth()
    @_property
    def pixel_width(self) -> winrt.system.UInt32: ...

@typing.final
class BitmapProperties(winrt.system.Object, IBitmapPropertiesView):
    # Windows.Foundation.IAsyncOperation`1<Windows.Graphics.Imaging.BitmapPropertySet> Windows.Graphics.Imaging.BitmapProperties::GetPropertiesAsync(Windows.Foundation.Collections.IIterable`1<System.String>)
    def get_properties_async(self, properties_to_retrieve: typing.Iterable[str], /) -> windows_foundation.IAsyncOperation[BitmapPropertySet]: ...
    # Windows.Foundation.IAsyncAction Windows.Graphics.Imaging.BitmapProperties::SetPropertiesAsync(Windows.Foundation.Collections.IIterable`1<Windows.Foundation.Collections.IKeyValuePair`2<System.String,Windows.Graphics.Imaging.BitmapTypedValue>>)
    def set_properties_async(self, properties_to_set: typing.Union[typing.Mapping[str, BitmapTypedValue], typing.Iterable[windows_foundation_collections.IKeyValuePair[str, BitmapTypedValue]]], /) -> windows_foundation.IAsyncAction: ...

@typing.final
class BitmapPropertiesView(winrt.system.Object, IBitmapPropertiesView):
    # Windows.Foundation.IAsyncOperation`1<Windows.Graphics.Imaging.BitmapPropertySet> Windows.Graphics.Imaging.BitmapPropertiesView::GetPropertiesAsync(Windows.Foundation.Collections.IIterable`1<System.String>)
    def get_properties_async(self, properties_to_retrieve: typing.Iterable[str], /) -> windows_foundation.IAsyncOperation[BitmapPropertySet]: ...

@typing.final
class BitmapPropertySet(winrt.system.Object, winrt._winrt.MutableMapping[str, BitmapTypedValue]):
    def __len__(self) -> int: ...
    def __iter__(self) -> typing.Iterator[str]: ...
    def __contains__(self, key: object) -> bool: ...
    def __getitem__(self, key: str) -> BitmapTypedValue: ...
    def __setitem__(self, key: str, value: BitmapTypedValue) -> None: ...
    def __delitem__(self, key: str) -> None: ...
    def __new__(cls: typing.Type[Self]) -> Self: ...
    # System.Void Windows.Graphics.Imaging.BitmapPropertySet::Clear()
    def clear(self) -> None: ...
    # Windows.Foundation.Collections.IIterator`1<Windows.Foundation.Collections.IKeyValuePair`2<System.String,Windows.Graphics.Imaging.BitmapTypedValue>> Windows.Graphics.Imaging.BitmapPropertySet::First()
    def first(self) -> windows_foundation_collections.IIterator[windows_foundation_collections.IKeyValuePair[str, BitmapTypedValue]]: ...
    # Windows.Foundation.Collections.IMapView`2<System.String,Windows.Graphics.Imaging.BitmapTypedValue> Windows.Graphics.Imaging.BitmapPropertySet::GetView()
    def get_view(self) -> typing.Mapping[str, BitmapTypedValue]: ...
    # System.Boolean Windows.Graphics.Imaging.BitmapPropertySet::HasKey(System.String)
    def has_key(self, key: str, /) -> bool: ...
    # System.Boolean Windows.Graphics.Imaging.BitmapPropertySet::Insert(System.String,Windows.Graphics.Imaging.BitmapTypedValue)
    def insert(self, key: str, value: BitmapTypedValue, /) -> bool: ...
    # Windows.Graphics.Imaging.BitmapTypedValue Windows.Graphics.Imaging.BitmapPropertySet::Lookup(System.String)
    def lookup(self, key: str, /) -> BitmapTypedValue: ...
    # System.Void Windows.Graphics.Imaging.BitmapPropertySet::Remove(System.String)
    def remove(self, key: str, /) -> None: ...
    # System.UInt32 Windows.Graphics.Imaging.BitmapPropertySet::get_Size()
    @_property
    def size(self) -> winrt.system.UInt32: ...

@typing.final
class BitmapTransform(winrt.system.Object):
    def __new__(cls: typing.Type[Self]) -> Self: ...
    # System.UInt32 Windows.Graphics.Imaging.BitmapTransform::get_ScaledWidth()
    @_property
    def scaled_width(self) -> winrt.system.UInt32: ...
    # System.Void Windows.Graphics.Imaging.BitmapTransform::put_ScaledWidth(System.UInt32)
    @scaled_width.setter
    def scaled_width(self, value: winrt.system.UInt32) -> None: ...
    # System.UInt32 Windows.Graphics.Imaging.BitmapTransform::get_ScaledHeight()
    @_property
    def scaled_height(self) -> winrt.system.UInt32: ...
    # System.Void Windows.Graphics.Imaging.BitmapTransform::put_ScaledHeight(System.UInt32)
    @scaled_height.setter
    def scaled_height(self, value: winrt.system.UInt32) -> None: ...
    # Windows.Graphics.Imaging.BitmapRotation Windows.Graphics.Imaging.BitmapTransform::get_Rotation()
    @_property
    def rotation(self) -> BitmapRotation: ...
    # System.Void Windows.Graphics.Imaging.BitmapTransform::put_Rotation(Windows.Graphics.Imaging.BitmapRotation)
    @rotation.setter
    def rotation(self, value: BitmapRotation) -> None: ...
    # Windows.Graphics.Imaging.BitmapInterpolationMode Windows.Graphics.Imaging.BitmapTransform::get_InterpolationMode()
    @_property
    def interpolation_mode(self) -> BitmapInterpolationMode: ...
    # System.Void Windows.Graphics.Imaging.BitmapTransform::put_InterpolationMode(Windows.Graphics.Imaging.BitmapInterpolationMode)
    @interpolation_mode.setter
    def interpolation_mode(self, value: BitmapInterpolationMode) -> None: ...
    # Windows.Graphics.Imaging.BitmapFlip Windows.Graphics.Imaging.BitmapTransform::get_Flip()
    @_property
    def flip(self) -> BitmapFlip: ...
    # System.Void Windows.Graphics.Imaging.BitmapTransform::put_Flip(Windows.Graphics.Imaging.BitmapFlip)
    @flip.setter
    def flip(self, value: BitmapFlip) -> None: ...
    # Windows.Graphics.Imaging.BitmapBounds Windows.Graphics.Imaging.BitmapTransform::get_Bounds()
    @_property
    def bounds(self) -> BitmapBounds: ...
    # System.Void Windows.Graphics.Imaging.BitmapTransform::put_Bounds(Windows.Graphics.Imaging.BitmapBounds)
    @bounds.setter
    def bounds(self, value: typing.Union[BitmapBounds, typing.Tuple[winrt.system.UInt32, winrt.system.UInt32, winrt.system.UInt32, winrt.system.UInt32]]) -> None: ...

@typing.final
class BitmapTypedValue(winrt.system.Object):
    def __new__(cls: typing.Type[Self], value: winrt.system.Object, type: windows_foundation.PropertyType) -> Self: ...
    # Windows.Foundation.PropertyType Windows.Graphics.Imaging.BitmapTypedValue::get_Type()
    @_property
    def type(self) -> windows_foundation.PropertyType: ...
    # System.Object Windows.Graphics.Imaging.BitmapTypedValue::get_Value()
    @_property
    def value(self) -> winrt.system.Object: ...

@typing.final
class ImageStream(winrt.system.Object, windows_storage_streams.IRandomAccessStreamWithContentType, windows_storage_streams.IContentTypeProvider, windows_storage_streams.IRandomAccessStream, windows_storage_streams.IOutputStream, windows_storage_streams.IInputStream, windows_foundation.IClosable):
    def __enter__(self: Self) -> Self: ...
    def __exit__(self, exc_type: typing.Optional[typing.Type[BaseException]], exc_value: typing.Optional[BaseException], traceback: typing.Optional[types.TracebackType]) -> None: ...
    # Windows.Storage.Streams.IRandomAccessStream Windows.Graphics.Imaging.ImageStream::CloneStream()
    def clone_stream(self) -> windows_storage_streams.IRandomAccessStream: ...
    # System.Void Windows.Graphics.Imaging.ImageStream::Close()
    def close(self) -> None: ...
    # Windows.Foundation.IAsyncOperation`1<System.Boolean> Windows.Graphics.Imaging.ImageStream::FlushAsync()
    def flush_async(self) -> windows_foundation.IAsyncOperation[bool]: ...
    # Windows.Storage.Streams.IInputStream Windows.Graphics.Imaging.ImageStream::GetInputStreamAt(System.UInt64)
    def get_input_stream_at(self, position: winrt.system.UInt64, /) -> windows_storage_streams.IInputStream: ...
    # Windows.Storage.Streams.IOutputStream Windows.Graphics.Imaging.ImageStream::GetOutputStreamAt(System.UInt64)
    def get_output_stream_at(self, position: winrt.system.UInt64, /) -> windows_storage_streams.IOutputStream: ...
    # Windows.Foundation.IAsyncOperationWithProgress`2<Windows.Storage.Streams.IBuffer,System.UInt32> Windows.Graphics.Imaging.ImageStream::ReadAsync(Windows.Storage.Streams.IBuffer,System.UInt32,Windows.Storage.Streams.InputStreamOptions)
    def read_async(self, buffer: winrt.system.Buffer, count: winrt.system.UInt32, options: windows_storage_streams.InputStreamOptions, /) -> windows_foundation.IAsyncOperationWithProgress[winrt.system.Buffer, winrt.system.UInt32]: ...
    # System.Void Windows.Graphics.Imaging.ImageStream::Seek(System.UInt64)
    def seek(self, position: winrt.system.UInt64, /) -> None: ...
    # Windows.Foundation.IAsyncOperationWithProgress`2<System.UInt32,System.UInt32> Windows.Graphics.Imaging.ImageStream::WriteAsync(Windows.Storage.Streams.IBuffer)
    def write_async(self, buffer: winrt.system.Buffer, /) -> windows_foundation.IAsyncOperationWithProgress[winrt.system.UInt32, winrt.system.UInt32]: ...
    # System.String Windows.Graphics.Imaging.ImageStream::get_ContentType()
    @_property
    def content_type(self) -> str: ...
    # System.UInt64 Windows.Graphics.Imaging.ImageStream::get_Size()
    @_property
    def size(self) -> winrt.system.UInt64: ...
    # System.Void Windows.Graphics.Imaging.ImageStream::put_Size(System.UInt64)
    @size.setter
    def size(self, value: winrt.system.UInt64) -> None: ...
    # System.Boolean Windows.Graphics.Imaging.ImageStream::get_CanRead()
    @_property
    def can_read(self) -> bool: ...
    # System.Boolean Windows.Graphics.Imaging.ImageStream::get_CanWrite()
    @_property
    def can_write(self) -> bool: ...
    # System.UInt64 Windows.Graphics.Imaging.ImageStream::get_Position()
    @_property
    def position(self) -> winrt.system.UInt64: ...

@typing.final
class PixelDataProvider(winrt.system.Object):
    # System.Byte[] Windows.Graphics.Imaging.PixelDataProvider::DetachPixelData()
    def detach_pixel_data(self) -> winrt.system.Array[winrt.system.UInt8]: ...

@typing.final
class SoftwareBitmap_Static(winrt._winrt.IInspectable_Static):
    # Windows.Graphics.Imaging.SoftwareBitmap Windows.Graphics.Imaging.SoftwareBitmap::Convert(Windows.Graphics.Imaging.SoftwareBitmap,Windows.Graphics.Imaging.BitmapPixelFormat)
    def convert(cls, source: SoftwareBitmap, format: BitmapPixelFormat, /) -> SoftwareBitmap: ...
    # Windows.Graphics.Imaging.SoftwareBitmap Windows.Graphics.Imaging.SoftwareBitmap::Convert(Windows.Graphics.Imaging.SoftwareBitmap,Windows.Graphics.Imaging.BitmapPixelFormat,Windows.Graphics.Imaging.BitmapAlphaMode)
    def convert_with_alpha(cls, source: SoftwareBitmap, format: BitmapPixelFormat, alpha: BitmapAlphaMode, /) -> SoftwareBitmap: ...
    # Windows.Graphics.Imaging.SoftwareBitmap Windows.Graphics.Imaging.SoftwareBitmap::Copy(Windows.Graphics.Imaging.SoftwareBitmap)
    def copy(cls, source: SoftwareBitmap, /) -> SoftwareBitmap: ...
    # Windows.Graphics.Imaging.SoftwareBitmap Windows.Graphics.Imaging.SoftwareBitmap::CreateCopyFromBuffer(Windows.Storage.Streams.IBuffer,Windows.Graphics.Imaging.BitmapPixelFormat,System.Int32,System.Int32)
    def create_copy_from_buffer(cls, source: winrt.system.Buffer, format: BitmapPixelFormat, width: winrt.system.Int32, height: winrt.system.Int32, /) -> SoftwareBitmap: ...
    # Windows.Foundation.IAsyncOperation`1<Windows.Graphics.Imaging.SoftwareBitmap> Windows.Graphics.Imaging.SoftwareBitmap::CreateCopyFromSurfaceAsync(Windows.Graphics.DirectX.Direct3D11.IDirect3DSurface)
    def create_copy_from_surface_async(cls, surface: windows_graphics_directx_direct3d11.IDirect3DSurface, /) -> windows_foundation.IAsyncOperation[SoftwareBitmap]: ...
    # Windows.Graphics.Imaging.SoftwareBitmap Windows.Graphics.Imaging.SoftwareBitmap::CreateCopyFromBuffer(Windows.Storage.Streams.IBuffer,Windows.Graphics.Imaging.BitmapPixelFormat,System.Int32,System.Int32,Windows.Graphics.Imaging.BitmapAlphaMode)
    def create_copy_with_alpha_from_buffer(cls, source: winrt.system.Buffer, format: BitmapPixelFormat, width: winrt.system.Int32, height: winrt.system.Int32, alpha: BitmapAlphaMode, /) -> SoftwareBitmap: ...
    # Windows.Foundation.IAsyncOperation`1<Windows.Graphics.Imaging.SoftwareBitmap> Windows.Graphics.Imaging.SoftwareBitmap::CreateCopyFromSurfaceAsync(Windows.Graphics.DirectX.Direct3D11.IDirect3DSurface,Windows.Graphics.Imaging.BitmapAlphaMode)
    def create_copy_with_alpha_from_surface_async(cls, surface: windows_graphics_directx_direct3d11.IDirect3DSurface, alpha: BitmapAlphaMode, /) -> windows_foundation.IAsyncOperation[SoftwareBitmap]: ...

@typing.final
class SoftwareBitmap(winrt.system.Object, windows_foundation.IClosable, metaclass=SoftwareBitmap_Static):
    def __enter__(self: Self) -> Self: ...
    def __exit__(self, exc_type: typing.Optional[typing.Type[BaseException]], exc_value: typing.Optional[BaseException], traceback: typing.Optional[types.TracebackType]) -> None: ...
    @typing.overload
    def __new__(cls: typing.Type[Self], format: BitmapPixelFormat, width: winrt.system.Int32, height: winrt.system.Int32) -> Self: ...
    @typing.overload
    def __new__(cls: typing.Type[Self], format: BitmapPixelFormat, width: winrt.system.Int32, height: winrt.system.Int32, alpha: BitmapAlphaMode) -> Self: ...
    # System.Void Windows.Graphics.Imaging.SoftwareBitmap::Close()
    def close(self) -> None: ...
    # System.Void Windows.Graphics.Imaging.SoftwareBitmap::CopyFromBuffer(Windows.Storage.Streams.IBuffer)
    def copy_from_buffer(self, buffer: winrt.system.Buffer, /) -> None: ...
    # System.Void Windows.Graphics.Imaging.SoftwareBitmap::CopyTo(Windows.Graphics.Imaging.SoftwareBitmap)
    def copy_to(self, bitmap: SoftwareBitmap, /) -> None: ...
    # System.Void Windows.Graphics.Imaging.SoftwareBitmap::CopyToBuffer(Windows.Storage.Streams.IBuffer)
    def copy_to_buffer(self, buffer: winrt.system.Buffer, /) -> None: ...
    # Windows.Graphics.Imaging.SoftwareBitmap Windows.Graphics.Imaging.SoftwareBitmap::GetReadOnlyView()
    def get_read_only_view(self) -> SoftwareBitmap: ...
    # Windows.Graphics.Imaging.BitmapBuffer Windows.Graphics.Imaging.SoftwareBitmap::LockBuffer(Windows.Graphics.Imaging.BitmapBufferAccessMode)
    def lock_buffer(self, mode: BitmapBufferAccessMode, /) -> BitmapBuffer: ...
    # System.Double Windows.Graphics.Imaging.SoftwareBitmap::get_DpiY()
    @_property
    def dpi_y(self) -> winrt.system.Double: ...
    # System.Void Windows.Graphics.Imaging.SoftwareBitmap::put_DpiY(System.Double)
    @dpi_y.setter
    def dpi_y(self, value: winrt.system.Double) -> None: ...
    # System.Double Windows.Graphics.Imaging.SoftwareBitmap::get_DpiX()
    @_property
    def dpi_x(self) -> winrt.system.Double: ...
    # System.Void Windows.Graphics.Imaging.SoftwareBitmap::put_DpiX(System.Double)
    @dpi_x.setter
    def dpi_x(self, value: winrt.system.Double) -> None: ...
    # Windows.Graphics.Imaging.BitmapAlphaMode Windows.Graphics.Imaging.SoftwareBitmap::get_BitmapAlphaMode()
    @_property
    def bitmap_alpha_mode(self) -> BitmapAlphaMode: ...
    # Windows.Graphics.Imaging.BitmapPixelFormat Windows.Graphics.Imaging.SoftwareBitmap::get_BitmapPixelFormat()
    @_property
    def bitmap_pixel_format(self) -> BitmapPixelFormat: ...
    # System.Boolean Windows.Graphics.Imaging.SoftwareBitmap::get_IsReadOnly()
    @_property
    def is_read_only(self) -> bool: ...
    # System.Int32 Windows.Graphics.Imaging.SoftwareBitmap::get_PixelHeight()
    @_property
    def pixel_height(self) -> winrt.system.Int32: ...
    # System.Int32 Windows.Graphics.Imaging.SoftwareBitmap::get_PixelWidth()
    @_property
    def pixel_width(self) -> winrt.system.Int32: ...

@typing.final
class _IBitmapFrame: ...

class IBitmapFrame(winrt._winrt.IInspectable):
    # Windows.Foundation.IAsyncOperation`1<Windows.Graphics.Imaging.PixelDataProvider> Windows.Graphics.Imaging.IBitmapFrame::GetPixelDataAsync()
    @abstractmethod
    def get_pixel_data_async(self) -> windows_foundation.IAsyncOperation[PixelDataProvider]: ...
    # Windows.Foundation.IAsyncOperation`1<Windows.Graphics.Imaging.PixelDataProvider> Windows.Graphics.Imaging.IBitmapFrame::GetPixelDataAsync(Windows.Graphics.Imaging.BitmapPixelFormat,Windows.Graphics.Imaging.BitmapAlphaMode,Windows.Graphics.Imaging.BitmapTransform,Windows.Graphics.Imaging.ExifOrientationMode,Windows.Graphics.Imaging.ColorManagementMode)
    @abstractmethod
    def get_pixel_data_transformed_async(self, pixel_format: BitmapPixelFormat, alpha_mode: BitmapAlphaMode, transform: BitmapTransform, exif_orientation_mode: ExifOrientationMode, color_management_mode: ColorManagementMode, /) -> windows_foundation.IAsyncOperation[PixelDataProvider]: ...
    # Windows.Foundation.IAsyncOperation`1<Windows.Graphics.Imaging.ImageStream> Windows.Graphics.Imaging.IBitmapFrame::GetThumbnailAsync()
    @abstractmethod
    def get_thumbnail_async(self) -> windows_foundation.IAsyncOperation[ImageStream]: ...
    # Windows.Graphics.Imaging.BitmapAlphaMode Windows.Graphics.Imaging.IBitmapFrame::get_BitmapAlphaMode()
    @_property
    @abstractmethod
    def bitmap_alpha_mode(self) -> BitmapAlphaMode: ...
    # Windows.Graphics.Imaging.BitmapPixelFormat Windows.Graphics.Imaging.IBitmapFrame::get_BitmapPixelFormat()
    @_property
    @abstractmethod
    def bitmap_pixel_format(self) -> BitmapPixelFormat: ...
    # Windows.Graphics.Imaging.BitmapPropertiesView Windows.Graphics.Imaging.IBitmapFrame::get_BitmapProperties()
    @_property
    @abstractmethod
    def bitmap_properties(self) -> BitmapPropertiesView: ...
    # System.Double Windows.Graphics.Imaging.IBitmapFrame::get_DpiX()
    @_property
    @abstractmethod
    def dpi_x(self) -> winrt.system.Double: ...
    # System.Double Windows.Graphics.Imaging.IBitmapFrame::get_DpiY()
    @_property
    @abstractmethod
    def dpi_y(self) -> winrt.system.Double: ...
    # System.UInt32 Windows.Graphics.Imaging.IBitmapFrame::get_OrientedPixelHeight()
    @_property
    @abstractmethod
    def oriented_pixel_height(self) -> winrt.system.UInt32: ...
    # System.UInt32 Windows.Graphics.Imaging.IBitmapFrame::get_OrientedPixelWidth()
    @_property
    @abstractmethod
    def oriented_pixel_width(self) -> winrt.system.UInt32: ...
    # System.UInt32 Windows.Graphics.Imaging.IBitmapFrame::get_PixelHeight()
    @_property
    @abstractmethod
    def pixel_height(self) -> winrt.system.UInt32: ...
    # System.UInt32 Windows.Graphics.Imaging.IBitmapFrame::get_PixelWidth()
    @_property
    @abstractmethod
    def pixel_width(self) -> winrt.system.UInt32: ...

@typing.final
class _IBitmapFrameWithSoftwareBitmap: ...

class IBitmapFrameWithSoftwareBitmap(IBitmapFrame, winrt._winrt.IInspectable):
    # Windows.Foundation.IAsyncOperation`1<Windows.Graphics.Imaging.SoftwareBitmap> Windows.Graphics.Imaging.IBitmapFrameWithSoftwareBitmap::GetSoftwareBitmapAsync()
    @abstractmethod
    def get_software_bitmap_async(self) -> windows_foundation.IAsyncOperation[SoftwareBitmap]: ...
    # Windows.Foundation.IAsyncOperation`1<Windows.Graphics.Imaging.SoftwareBitmap> Windows.Graphics.Imaging.IBitmapFrameWithSoftwareBitmap::GetSoftwareBitmapAsync(Windows.Graphics.Imaging.BitmapPixelFormat,Windows.Graphics.Imaging.BitmapAlphaMode)
    @abstractmethod
    def get_software_bitmap_converted_async(self, pixel_format: BitmapPixelFormat, alpha_mode: BitmapAlphaMode, /) -> windows_foundation.IAsyncOperation[SoftwareBitmap]: ...
    # Windows.Foundation.IAsyncOperation`1<Windows.Graphics.Imaging.SoftwareBitmap> Windows.Graphics.Imaging.IBitmapFrameWithSoftwareBitmap::GetSoftwareBitmapAsync(Windows.Graphics.Imaging.BitmapPixelFormat,Windows.Graphics.Imaging.BitmapAlphaMode,Windows.Graphics.Imaging.BitmapTransform,Windows.Graphics.Imaging.ExifOrientationMode,Windows.Graphics.Imaging.ColorManagementMode)
    @abstractmethod
    def get_software_bitmap_transformed_async(self, pixel_format: BitmapPixelFormat, alpha_mode: BitmapAlphaMode, transform: BitmapTransform, exif_orientation_mode: ExifOrientationMode, color_management_mode: ColorManagementMode, /) -> windows_foundation.IAsyncOperation[SoftwareBitmap]: ...

@typing.final
class _IBitmapPropertiesView: ...

class IBitmapPropertiesView(winrt._winrt.IInspectable):
    # Windows.Foundation.IAsyncOperation`1<Windows.Graphics.Imaging.BitmapPropertySet> Windows.Graphics.Imaging.IBitmapPropertiesView::GetPropertiesAsync(Windows.Foundation.Collections.IIterable`1<System.String>)
    @abstractmethod
    def get_properties_async(self, properties_to_retrieve: typing.Iterable[str], /) -> windows_foundation.IAsyncOperation[BitmapPropertySet]: ...

