# 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.foundation
import winsdk.windows.foundation.collections
import winsdk.windows.graphics.directx.direct3d11
import winsdk.windows.storage.streams

class BitmapAlphaMode(enum.IntEnum):
    PREMULTIPLIED = 0
    STRAIGHT = 1
    IGNORE = 2

class BitmapBufferAccessMode(enum.IntEnum):
    READ = 0
    READ_WRITE = 1
    WRITE = 2

class BitmapFlip(enum.IntEnum):
    NONE = 0
    HORIZONTAL = 1
    VERTICAL = 2

class BitmapInterpolationMode(enum.IntEnum):
    NEAREST_NEIGHBOR = 0
    LINEAR = 1
    CUBIC = 2
    FANT = 3

class BitmapPixelFormat(enum.IntEnum):
    UNKNOWN = 0
    RGBA16 = 12
    RGBA8 = 30
    GRAY16 = 57
    GRAY8 = 62
    BGRA8 = 87
    NV12 = 103
    P010 = 104
    YUY2 = 107

class BitmapRotation(enum.IntEnum):
    NONE = 0
    CLOCKWISE90_DEGREES = 1
    CLOCKWISE180_DEGREES = 2
    CLOCKWISE270_DEGREES = 3

class ColorManagementMode(enum.IntEnum):
    DO_NOT_COLOR_MANAGE = 0
    COLOR_MANAGE_TO_S_RGB = 1

class ExifOrientationMode(enum.IntEnum):
    IGNORE_EXIF_ORIENTATION = 0
    RESPECT_EXIF_ORIENTATION = 1

class JpegSubsamplingMode(enum.IntEnum):
    DEFAULT = 0
    Y4_CB2_CR0 = 1
    Y4_CB2_CR2 = 2
    Y4_CB4_CR4 = 3

class PngFilterMode(enum.IntEnum):
    AUTOMATIC = 0
    NONE = 1
    SUB = 2
    UP = 3
    AVERAGE = 4
    PAETH = 5
    ADAPTIVE = 6

class TiffCompressionMode(enum.IntEnum):
    AUTOMATIC = 0
    NONE = 1
    CCITT3 = 2
    CCITT4 = 3
    LZW = 4
    RLE = 5
    ZIP = 6
    LZWH_DIFFERENCING = 7

Self = typing.TypeVar('Self')

class BitmapBounds:
    x: winsdk.system.UInt32
    y: winsdk.system.UInt32
    width: winsdk.system.UInt32
    height: winsdk.system.UInt32
    def __new__(cls: typing.Type[BitmapBounds], x: winsdk.system.UInt32, y: winsdk.system.UInt32, width: winsdk.system.UInt32, height: winsdk.system.UInt32) -> BitmapBounds: ...

class BitmapPlaneDescription:
    start_index: winsdk.system.Int32
    width: winsdk.system.Int32
    height: winsdk.system.Int32
    stride: winsdk.system.Int32
    def __new__(cls: typing.Type[BitmapPlaneDescription], start_index: winsdk.system.Int32, width: winsdk.system.Int32, height: winsdk.system.Int32, stride: winsdk.system.Int32) -> BitmapPlaneDescription: ...

class BitmapSize:
    width: winsdk.system.UInt32
    height: winsdk.system.UInt32
    def __new__(cls: typing.Type[BitmapSize], width: winsdk.system.UInt32, height: winsdk.system.UInt32) -> BitmapSize: ...

class BitmapBuffer(winsdk.system.Object):
    def __enter__(self: Self) -> Self: ...
    def __exit__(self, *args) -> None: ...
    @staticmethod
    def _from(obj: winsdk.system.Object, /) -> BitmapBuffer: ...
    def close(self) -> None: ...
    def create_reference(self) -> typing.Optional[winsdk.windows.foundation.IMemoryBufferReference]: ...
    def get_plane_count(self) -> winsdk.system.Int32: ...
    def get_plane_description(self, index: winsdk.system.Int32, /) -> BitmapPlaneDescription: ...

class BitmapCodecInformation(winsdk.system.Object):
    codec_id: winsdk.system.Guid
    file_extensions: typing.Optional[winsdk.windows.foundation.collections.IVectorView[str]]
    friendly_name: str
    mime_types: typing.Optional[winsdk.windows.foundation.collections.IVectorView[str]]
    @staticmethod
    def _from(obj: winsdk.system.Object, /) -> BitmapCodecInformation: ...

class BitmapDecoder(winsdk.system.Object):
    bitmap_container_properties: typing.Optional[BitmapPropertiesView]
    decoder_information: typing.Optional[BitmapCodecInformation]
    frame_count: winsdk.system.UInt32
    bitmap_alpha_mode: BitmapAlphaMode
    bitmap_pixel_format: BitmapPixelFormat
    bitmap_properties: typing.Optional[BitmapPropertiesView]
    dpi_x: winsdk.system.Double
    dpi_y: winsdk.system.Double
    oriented_pixel_height: winsdk.system.UInt32
    oriented_pixel_width: winsdk.system.UInt32
    pixel_height: winsdk.system.UInt32
    pixel_width: winsdk.system.UInt32
    bmp_decoder_id: typing.ClassVar[winsdk.system.Guid]
    gif_decoder_id: typing.ClassVar[winsdk.system.Guid]
    ico_decoder_id: typing.ClassVar[winsdk.system.Guid]
    jpeg_decoder_id: typing.ClassVar[winsdk.system.Guid]
    jpeg_x_r_decoder_id: typing.ClassVar[winsdk.system.Guid]
    png_decoder_id: typing.ClassVar[winsdk.system.Guid]
    tiff_decoder_id: typing.ClassVar[winsdk.system.Guid]
    heif_decoder_id: typing.ClassVar[winsdk.system.Guid]
    webp_decoder_id: typing.ClassVar[winsdk.system.Guid]
    @staticmethod
    def _from(obj: winsdk.system.Object, /) -> BitmapDecoder: ...
    @typing.overload
    @staticmethod
    def create_async(stream: typing.Optional[winsdk.windows.storage.streams.IRandomAccessStream], /) -> winsdk.windows.foundation.IAsyncOperation[BitmapDecoder]: ...
    @typing.overload
    @staticmethod
    def create_async(decoder_id: winsdk.system.Guid, stream: typing.Optional[winsdk.windows.storage.streams.IRandomAccessStream], /) -> winsdk.windows.foundation.IAsyncOperation[BitmapDecoder]: ...
    @staticmethod
    def get_decoder_information_enumerator() -> typing.Optional[winsdk.windows.foundation.collections.IVectorView[BitmapCodecInformation]]: ...
    def get_frame_async(self, frame_index: winsdk.system.UInt32, /) -> winsdk.windows.foundation.IAsyncOperation[BitmapFrame]: ...
    @typing.overload
    def get_pixel_data_async(self) -> winsdk.windows.foundation.IAsyncOperation[PixelDataProvider]: ...
    @typing.overload
    def get_pixel_data_async(self, pixel_format: BitmapPixelFormat, alpha_mode: BitmapAlphaMode, transform: typing.Optional[BitmapTransform], exif_orientation_mode: ExifOrientationMode, color_management_mode: ColorManagementMode, /) -> winsdk.windows.foundation.IAsyncOperation[PixelDataProvider]: ...
    def get_preview_async(self) -> winsdk.windows.foundation.IAsyncOperation[ImageStream]: ...
    @typing.overload
    def get_software_bitmap_async(self) -> winsdk.windows.foundation.IAsyncOperation[SoftwareBitmap]: ...
    @typing.overload
    def get_software_bitmap_async(self, pixel_format: BitmapPixelFormat, alpha_mode: BitmapAlphaMode, /) -> winsdk.windows.foundation.IAsyncOperation[SoftwareBitmap]: ...
    @typing.overload
    def get_software_bitmap_async(self, pixel_format: BitmapPixelFormat, alpha_mode: BitmapAlphaMode, transform: typing.Optional[BitmapTransform], exif_orientation_mode: ExifOrientationMode, color_management_mode: ColorManagementMode, /) -> winsdk.windows.foundation.IAsyncOperation[SoftwareBitmap]: ...
    def get_thumbnail_async(self) -> winsdk.windows.foundation.IAsyncOperation[ImageStream]: ...

class BitmapEncoder(winsdk.system.Object):
    is_thumbnail_generated: winsdk.system.Boolean
    generated_thumbnail_width: winsdk.system.UInt32
    generated_thumbnail_height: winsdk.system.UInt32
    bitmap_container_properties: typing.Optional[BitmapProperties]
    bitmap_properties: typing.Optional[BitmapProperties]
    bitmap_transform: typing.Optional[BitmapTransform]
    encoder_information: typing.Optional[BitmapCodecInformation]
    bmp_encoder_id: typing.ClassVar[winsdk.system.Guid]
    gif_encoder_id: typing.ClassVar[winsdk.system.Guid]
    jpeg_encoder_id: typing.ClassVar[winsdk.system.Guid]
    jpeg_x_r_encoder_id: typing.ClassVar[winsdk.system.Guid]
    png_encoder_id: typing.ClassVar[winsdk.system.Guid]
    tiff_encoder_id: typing.ClassVar[winsdk.system.Guid]
    heif_encoder_id: typing.ClassVar[winsdk.system.Guid]
    @staticmethod
    def _from(obj: winsdk.system.Object, /) -> BitmapEncoder: ...
    @typing.overload
    @staticmethod
    def create_async(encoder_id: winsdk.system.Guid, stream: typing.Optional[winsdk.windows.storage.streams.IRandomAccessStream], /) -> winsdk.windows.foundation.IAsyncOperation[BitmapEncoder]: ...
    @typing.overload
    @staticmethod
    def create_async(encoder_id: winsdk.system.Guid, stream: typing.Optional[winsdk.windows.storage.streams.IRandomAccessStream], encoding_options: typing.Iterable[winsdk.windows.foundation.collections.IKeyValuePair[str, BitmapTypedValue]], /) -> winsdk.windows.foundation.IAsyncOperation[BitmapEncoder]: ...
    @staticmethod
    def create_for_in_place_property_encoding_async(bitmap_decoder: typing.Optional[BitmapDecoder], /) -> winsdk.windows.foundation.IAsyncOperation[BitmapEncoder]: ...
    @staticmethod
    def create_for_transcoding_async(stream: typing.Optional[winsdk.windows.storage.streams.IRandomAccessStream], bitmap_decoder: typing.Optional[BitmapDecoder], /) -> winsdk.windows.foundation.IAsyncOperation[BitmapEncoder]: ...
    def flush_async(self) -> winsdk.windows.foundation.IAsyncAction: ...
    @staticmethod
    def get_encoder_information_enumerator() -> typing.Optional[winsdk.windows.foundation.collections.IVectorView[BitmapCodecInformation]]: ...
    @typing.overload
    def go_to_next_frame_async(self) -> winsdk.windows.foundation.IAsyncAction: ...
    @typing.overload
    def go_to_next_frame_async(self, encoding_options: typing.Iterable[winsdk.windows.foundation.collections.IKeyValuePair[str, BitmapTypedValue]], /) -> winsdk.windows.foundation.IAsyncAction: ...
    def set_pixel_data(self, pixel_format: BitmapPixelFormat, alpha_mode: BitmapAlphaMode, width: winsdk.system.UInt32, height: winsdk.system.UInt32, dpi_x: winsdk.system.Double, dpi_y: winsdk.system.Double, pixels: winsdk.system.Array[winsdk.system.UInt8], /) -> None: ...
    def set_software_bitmap(self, bitmap: typing.Optional[SoftwareBitmap], /) -> None: ...

class BitmapFrame(winsdk.system.Object):
    bitmap_alpha_mode: BitmapAlphaMode
    bitmap_pixel_format: BitmapPixelFormat
    bitmap_properties: typing.Optional[BitmapPropertiesView]
    dpi_x: winsdk.system.Double
    dpi_y: winsdk.system.Double
    oriented_pixel_height: winsdk.system.UInt32
    oriented_pixel_width: winsdk.system.UInt32
    pixel_height: winsdk.system.UInt32
    pixel_width: winsdk.system.UInt32
    @staticmethod
    def _from(obj: winsdk.system.Object, /) -> BitmapFrame: ...
    @typing.overload
    def get_pixel_data_async(self) -> winsdk.windows.foundation.IAsyncOperation[PixelDataProvider]: ...
    @typing.overload
    def get_pixel_data_async(self, pixel_format: BitmapPixelFormat, alpha_mode: BitmapAlphaMode, transform: typing.Optional[BitmapTransform], exif_orientation_mode: ExifOrientationMode, color_management_mode: ColorManagementMode, /) -> winsdk.windows.foundation.IAsyncOperation[PixelDataProvider]: ...
    @typing.overload
    def get_software_bitmap_async(self) -> winsdk.windows.foundation.IAsyncOperation[SoftwareBitmap]: ...
    @typing.overload
    def get_software_bitmap_async(self, pixel_format: BitmapPixelFormat, alpha_mode: BitmapAlphaMode, /) -> winsdk.windows.foundation.IAsyncOperation[SoftwareBitmap]: ...
    @typing.overload
    def get_software_bitmap_async(self, pixel_format: BitmapPixelFormat, alpha_mode: BitmapAlphaMode, transform: typing.Optional[BitmapTransform], exif_orientation_mode: ExifOrientationMode, color_management_mode: ColorManagementMode, /) -> winsdk.windows.foundation.IAsyncOperation[SoftwareBitmap]: ...
    def get_thumbnail_async(self) -> winsdk.windows.foundation.IAsyncOperation[ImageStream]: ...

class BitmapProperties(winsdk.system.Object):
    @staticmethod
    def _from(obj: winsdk.system.Object, /) -> BitmapProperties: ...
    def get_properties_async(self, properties_to_retrieve: typing.Iterable[str], /) -> winsdk.windows.foundation.IAsyncOperation[BitmapPropertySet]: ...
    def set_properties_async(self, properties_to_set: typing.Iterable[winsdk.windows.foundation.collections.IKeyValuePair[str, BitmapTypedValue]], /) -> winsdk.windows.foundation.IAsyncAction: ...

class BitmapPropertiesView(winsdk.system.Object):
    @staticmethod
    def _from(obj: winsdk.system.Object, /) -> BitmapPropertiesView: ...
    def get_properties_async(self, properties_to_retrieve: typing.Iterable[str], /) -> winsdk.windows.foundation.IAsyncOperation[BitmapPropertySet]: ...

class BitmapPropertySet(winsdk.system.Object, typing.MutableMapping[str, BitmapTypedValue]):
    size: winsdk.system.UInt32
    def __len__(self) -> int: ...
    def __iter__(self) -> typing.Iterator[str]: ...
    def __contains__(self, key: object) -> bool:...
    def __setitem__(self, key: str, value: BitmapTypedValue) -> None: ...
    def __getitem__(self, key: str) -> BitmapTypedValue: ...
    def __delitem__(self, key: str) -> None: ...
    @staticmethod
    def _from(obj: winsdk.system.Object, /) -> BitmapPropertySet: ...
    def __new__(cls: typing.Type[BitmapPropertySet]) -> BitmapPropertySet:...
    def clear(self) -> None: ...
    def first(self) -> typing.Optional[winsdk.windows.foundation.collections.IIterator[winsdk.windows.foundation.collections.IKeyValuePair[str, BitmapTypedValue]]]: ...
    def get_view(self) -> typing.Optional[winsdk.windows.foundation.collections.IMapView[str, BitmapTypedValue]]: ...
    def has_key(self, key: str, /) -> winsdk.system.Boolean: ...
    def insert(self, key: str, value: typing.Optional[BitmapTypedValue], /) -> winsdk.system.Boolean: ...
    def lookup(self, key: str, /) -> typing.Optional[BitmapTypedValue]: ...
    def remove(self, key: str, /) -> None: ...

class BitmapTransform(winsdk.system.Object):
    scaled_width: winsdk.system.UInt32
    scaled_height: winsdk.system.UInt32
    rotation: BitmapRotation
    interpolation_mode: BitmapInterpolationMode
    flip: BitmapFlip
    bounds: BitmapBounds
    @staticmethod
    def _from(obj: winsdk.system.Object, /) -> BitmapTransform: ...
    def __new__(cls: typing.Type[BitmapTransform]) -> BitmapTransform:...

class BitmapTypedValue(winsdk.system.Object):
    type: winsdk.windows.foundation.PropertyType
    value: typing.Optional[winsdk.system.Object]
    @staticmethod
    def _from(obj: winsdk.system.Object, /) -> BitmapTypedValue: ...
    def __new__(cls: typing.Type[BitmapTypedValue], value: typing.Optional[winsdk.system.Object], type: winsdk.windows.foundation.PropertyType) -> BitmapTypedValue:...

class ImageStream(winsdk.system.Object):
    content_type: str
    size: winsdk.system.UInt64
    can_read: winsdk.system.Boolean
    can_write: winsdk.system.Boolean
    position: winsdk.system.UInt64
    def __enter__(self: Self) -> Self: ...
    def __exit__(self, *args) -> None: ...
    @staticmethod
    def _from(obj: winsdk.system.Object, /) -> ImageStream: ...
    def clone_stream(self) -> typing.Optional[winsdk.windows.storage.streams.IRandomAccessStream]: ...
    def close(self) -> None: ...
    def flush_async(self) -> winsdk.windows.foundation.IAsyncOperation[winsdk.system.Boolean]: ...
    def get_input_stream_at(self, position: winsdk.system.UInt64, /) -> typing.Optional[winsdk.windows.storage.streams.IInputStream]: ...
    def get_output_stream_at(self, position: winsdk.system.UInt64, /) -> typing.Optional[winsdk.windows.storage.streams.IOutputStream]: ...
    def read_async(self, buffer: typing.Optional[winsdk.windows.storage.streams.IBuffer], count: winsdk.system.UInt32, options: winsdk.windows.storage.streams.InputStreamOptions, /) -> winsdk.windows.foundation.IAsyncOperationWithProgress[winsdk.windows.storage.streams.IBuffer, winsdk.system.UInt32]: ...
    def seek(self, position: winsdk.system.UInt64, /) -> None: ...
    def write_async(self, buffer: typing.Optional[winsdk.windows.storage.streams.IBuffer], /) -> winsdk.windows.foundation.IAsyncOperationWithProgress[winsdk.system.UInt32, winsdk.system.UInt32]: ...

class PixelDataProvider(winsdk.system.Object):
    @staticmethod
    def _from(obj: winsdk.system.Object, /) -> PixelDataProvider: ...
    def detach_pixel_data(self) -> winsdk.system.UInt8: ...

class SoftwareBitmap(winsdk.system.Object):
    dpi_y: winsdk.system.Double
    dpi_x: winsdk.system.Double
    bitmap_alpha_mode: BitmapAlphaMode
    bitmap_pixel_format: BitmapPixelFormat
    is_read_only: winsdk.system.Boolean
    pixel_height: winsdk.system.Int32
    pixel_width: winsdk.system.Int32
    def __enter__(self: Self) -> Self: ...
    def __exit__(self, *args) -> None: ...
    @staticmethod
    def _from(obj: winsdk.system.Object, /) -> SoftwareBitmap: ...
    @typing.overload
    def __new__(cls: typing.Type[SoftwareBitmap], format: BitmapPixelFormat, width: winsdk.system.Int32, height: winsdk.system.Int32) -> SoftwareBitmap:...
    @typing.overload
    def __new__(cls: typing.Type[SoftwareBitmap], format: BitmapPixelFormat, width: winsdk.system.Int32, height: winsdk.system.Int32, alpha: BitmapAlphaMode) -> SoftwareBitmap:...
    def close(self) -> None: ...
    @typing.overload
    @staticmethod
    def convert(source: typing.Optional[SoftwareBitmap], format: BitmapPixelFormat, /) -> typing.Optional[SoftwareBitmap]: ...
    @typing.overload
    @staticmethod
    def convert(source: typing.Optional[SoftwareBitmap], format: BitmapPixelFormat, alpha: BitmapAlphaMode, /) -> typing.Optional[SoftwareBitmap]: ...
    @staticmethod
    def copy(source: typing.Optional[SoftwareBitmap], /) -> typing.Optional[SoftwareBitmap]: ...
    def copy_from_buffer(self, buffer: typing.Optional[winsdk.windows.storage.streams.IBuffer], /) -> None: ...
    def copy_to(self, bitmap: typing.Optional[SoftwareBitmap], /) -> None: ...
    def copy_to_buffer(self, buffer: typing.Optional[winsdk.windows.storage.streams.IBuffer], /) -> None: ...
    @typing.overload
    @staticmethod
    def create_copy_from_buffer(source: typing.Optional[winsdk.windows.storage.streams.IBuffer], format: BitmapPixelFormat, width: winsdk.system.Int32, height: winsdk.system.Int32, /) -> typing.Optional[SoftwareBitmap]: ...
    @typing.overload
    @staticmethod
    def create_copy_from_buffer(source: typing.Optional[winsdk.windows.storage.streams.IBuffer], format: BitmapPixelFormat, width: winsdk.system.Int32, height: winsdk.system.Int32, alpha: BitmapAlphaMode, /) -> typing.Optional[SoftwareBitmap]: ...
    @typing.overload
    @staticmethod
    def create_copy_from_surface_async(surface: typing.Optional[winsdk.windows.graphics.directx.direct3d11.IDirect3DSurface], /) -> winsdk.windows.foundation.IAsyncOperation[SoftwareBitmap]: ...
    @typing.overload
    @staticmethod
    def create_copy_from_surface_async(surface: typing.Optional[winsdk.windows.graphics.directx.direct3d11.IDirect3DSurface], alpha: BitmapAlphaMode, /) -> winsdk.windows.foundation.IAsyncOperation[SoftwareBitmap]: ...
    def get_read_only_view(self) -> typing.Optional[SoftwareBitmap]: ...
    def lock_buffer(self, mode: BitmapBufferAccessMode, /) -> typing.Optional[BitmapBuffer]: ...

class IBitmapFrame(winsdk.system.Object):
    bitmap_alpha_mode: BitmapAlphaMode
    bitmap_pixel_format: BitmapPixelFormat
    bitmap_properties: typing.Optional[BitmapPropertiesView]
    dpi_x: winsdk.system.Double
    dpi_y: winsdk.system.Double
    oriented_pixel_height: winsdk.system.UInt32
    oriented_pixel_width: winsdk.system.UInt32
    pixel_height: winsdk.system.UInt32
    pixel_width: winsdk.system.UInt32
    @staticmethod
    def _from(obj: winsdk.system.Object, /) -> IBitmapFrame: ...
    @typing.overload
    def get_pixel_data_async(self) -> winsdk.windows.foundation.IAsyncOperation[PixelDataProvider]: ...
    @typing.overload
    def get_pixel_data_async(self, pixel_format: BitmapPixelFormat, alpha_mode: BitmapAlphaMode, transform: typing.Optional[BitmapTransform], exif_orientation_mode: ExifOrientationMode, color_management_mode: ColorManagementMode, /) -> winsdk.windows.foundation.IAsyncOperation[PixelDataProvider]: ...
    def get_thumbnail_async(self) -> winsdk.windows.foundation.IAsyncOperation[ImageStream]: ...

class IBitmapFrameWithSoftwareBitmap(winsdk.system.Object):
    bitmap_alpha_mode: BitmapAlphaMode
    bitmap_pixel_format: BitmapPixelFormat
    bitmap_properties: typing.Optional[BitmapPropertiesView]
    dpi_x: winsdk.system.Double
    dpi_y: winsdk.system.Double
    oriented_pixel_height: winsdk.system.UInt32
    oriented_pixel_width: winsdk.system.UInt32
    pixel_height: winsdk.system.UInt32
    pixel_width: winsdk.system.UInt32
    @staticmethod
    def _from(obj: winsdk.system.Object, /) -> IBitmapFrameWithSoftwareBitmap: ...
    @typing.overload
    def get_pixel_data_async(self) -> winsdk.windows.foundation.IAsyncOperation[PixelDataProvider]: ...
    @typing.overload
    def get_pixel_data_async(self, pixel_format: BitmapPixelFormat, alpha_mode: BitmapAlphaMode, transform: typing.Optional[BitmapTransform], exif_orientation_mode: ExifOrientationMode, color_management_mode: ColorManagementMode, /) -> winsdk.windows.foundation.IAsyncOperation[PixelDataProvider]: ...
    @typing.overload
    def get_software_bitmap_async(self) -> winsdk.windows.foundation.IAsyncOperation[SoftwareBitmap]: ...
    @typing.overload
    def get_software_bitmap_async(self, pixel_format: BitmapPixelFormat, alpha_mode: BitmapAlphaMode, /) -> winsdk.windows.foundation.IAsyncOperation[SoftwareBitmap]: ...
    @typing.overload
    def get_software_bitmap_async(self, pixel_format: BitmapPixelFormat, alpha_mode: BitmapAlphaMode, transform: typing.Optional[BitmapTransform], exif_orientation_mode: ExifOrientationMode, color_management_mode: ColorManagementMode, /) -> winsdk.windows.foundation.IAsyncOperation[SoftwareBitmap]: ...
    def get_thumbnail_async(self) -> winsdk.windows.foundation.IAsyncOperation[ImageStream]: ...

class IBitmapPropertiesView(winsdk.system.Object):
    @staticmethod
    def _from(obj: winsdk.system.Object, /) -> IBitmapPropertiesView: ...
    def get_properties_async(self, properties_to_retrieve: typing.Iterable[str], /) -> winsdk.windows.foundation.IAsyncOperation[BitmapPropertySet]: ...

