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

import datetime
import sys
import types
import typing

import winsdk._winrt as _winrt
import winsdk.windows.foundation
import winsdk.windows.foundation.collections
import winsdk.windows.globalization
import winsdk.windows.graphics.imaging

Self = typing.TypeVar('Self')

class OcrEngine(_winrt.Object):
    recognizer_language: typing.Optional[winsdk.windows.globalization.Language]
    available_recognizer_languages: typing.Optional[winsdk.windows.foundation.collections.IVectorView[winsdk.windows.globalization.Language]]
    max_image_dimension: _winrt.UInt32
    @staticmethod
    def _from(obj: _winrt.Object) -> OcrEngine: ...
    @staticmethod
    def is_language_supported(language: typing.Optional[winsdk.windows.globalization.Language]) -> _winrt.Boolean: ...
    def recognize_async(self, bitmap: typing.Optional[winsdk.windows.graphics.imaging.SoftwareBitmap]) -> winsdk.windows.foundation.IAsyncOperation[OcrResult]: ...
    @staticmethod
    def try_create_from_language(language: typing.Optional[winsdk.windows.globalization.Language]) -> typing.Optional[OcrEngine]: ...
    @staticmethod
    def try_create_from_user_profile_languages() -> typing.Optional[OcrEngine]: ...

class OcrLine(_winrt.Object):
    text: str
    words: typing.Optional[winsdk.windows.foundation.collections.IVectorView[OcrWord]]
    @staticmethod
    def _from(obj: _winrt.Object) -> OcrLine: ...

class OcrResult(_winrt.Object):
    lines: typing.Optional[winsdk.windows.foundation.collections.IVectorView[OcrLine]]
    text: str
    text_angle: typing.Optional[typing.Optional[_winrt.Double]]
    @staticmethod
    def _from(obj: _winrt.Object) -> OcrResult: ...

class OcrWord(_winrt.Object):
    bounding_rect: winsdk.windows.foundation.Rect
    text: str
    @staticmethod
    def _from(obj: _winrt.Object) -> OcrWord: ...

