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

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

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.globalization as windows_globalization
import winrt.windows.graphics.imaging as windows_graphics_imaging

Self = typing.TypeVar('Self')

@typing.final
class OcrEngine_Static(type):
    def is_language_supported(cls, language: typing.Optional[windows_globalization.Language], /) -> bool: ...
    def try_create_from_language(cls, language: typing.Optional[windows_globalization.Language], /) -> typing.Optional[OcrEngine]: ...
    def try_create_from_user_profile_languages(cls) -> typing.Optional[OcrEngine]: ...
    @_property
    def available_recognizer_languages(cls) -> typing.Optional[windows_foundation_collections.IVectorView[windows_globalization.Language]]: ...
    @_property
    def max_image_dimension(cls) -> winrt.system.UInt32: ...

@typing.final
class OcrEngine(winrt.system.Object, metaclass=OcrEngine_Static):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> OcrEngine: ...
    def recognize_async(self, bitmap: typing.Optional[windows_graphics_imaging.SoftwareBitmap], /) -> windows_foundation.IAsyncOperation[OcrResult]: ...
    @_property
    def recognizer_language(self) -> typing.Optional[windows_globalization.Language]: ...

@typing.final
class OcrLine(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> OcrLine: ...
    @_property
    def text(self) -> str: ...
    @_property
    def words(self) -> typing.Optional[windows_foundation_collections.IVectorView[OcrWord]]: ...

@typing.final
class OcrResult(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> OcrResult: ...
    @_property
    def lines(self) -> typing.Optional[windows_foundation_collections.IVectorView[OcrLine]]: ...
    @_property
    def text(self) -> str: ...
    @_property
    def text_angle(self) -> typing.Optional[typing.Optional[winrt.system.Double]]: ...

@typing.final
class OcrWord(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> OcrWord: ...
    @_property
    def bounding_rect(self) -> windows_foundation.Rect: ...
    @_property
    def text(self) -> str: ...

