# 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

import winrt._winrt
import winrt.system
import winrt.windows.foundation as windows_foundation
import winui3.microsoft.windows.ai as microsoft_windows_ai
import winui3.microsoft.windows.ai.contentsafety as microsoft_windows_ai_contentsafety

from winui3.microsoft.windows.ai.text import LanguageModelResponseStatus

Self = typing.TypeVar('Self')

@typing.final
class LanguageModel_Static(winrt._winrt.IInspectable_Static):
    # Windows.Foundation.IAsyncOperation`1<Microsoft.Windows.AI.Text.LanguageModel> Microsoft.Windows.AI.Text.LanguageModel::CreateAsync()
    def create_async(cls) -> windows_foundation.IAsyncOperation[LanguageModel]: ...
    # Windows.Foundation.IAsyncOperationWithProgress`2<Microsoft.Windows.AI.AIFeatureReadyResult,System.Double> Microsoft.Windows.AI.Text.LanguageModel::EnsureReadyAsync()
    def ensure_ready_async(cls) -> windows_foundation.IAsyncOperationWithProgress[microsoft_windows_ai.AIFeatureReadyResult, winrt.system.Double]: ...
    # Microsoft.Windows.AI.AIFeatureReadyState Microsoft.Windows.AI.Text.LanguageModel::GetReadyState()
    def get_ready_state(cls) -> microsoft_windows_ai.AIFeatureReadyState: ...

@typing.final
class LanguageModel(winrt.system.Object, windows_foundation.IClosable, metaclass=LanguageModel_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: ...
    # System.Void Microsoft.Windows.AI.Text.LanguageModel::Close()
    def close(self) -> None: ...

@typing.final
class LanguageModelContext(winrt.system.Object, 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 Microsoft.Windows.AI.Text.LanguageModelContext::Close()
    def close(self) -> None: ...

@typing.final
class LanguageModelOptions(winrt.system.Object):
    def __new__(cls: typing.Type[Self]) -> Self: ...
    # System.Single Microsoft.Windows.AI.Text.LanguageModelOptions::get_TopP()
    @_property
    def top_p(self) -> winrt.system.Single: ...
    # System.Void Microsoft.Windows.AI.Text.LanguageModelOptions::put_TopP(System.Single)
    @top_p.setter
    def top_p(self, value: winrt.system.Single) -> None: ...
    # System.UInt32 Microsoft.Windows.AI.Text.LanguageModelOptions::get_TopK()
    @_property
    def top_k(self) -> winrt.system.UInt32: ...
    # System.Void Microsoft.Windows.AI.Text.LanguageModelOptions::put_TopK(System.UInt32)
    @top_k.setter
    def top_k(self, value: winrt.system.UInt32) -> None: ...
    # System.Single Microsoft.Windows.AI.Text.LanguageModelOptions::get_Temperature()
    @_property
    def temperature(self) -> winrt.system.Single: ...
    # System.Void Microsoft.Windows.AI.Text.LanguageModelOptions::put_Temperature(System.Single)
    @temperature.setter
    def temperature(self, value: winrt.system.Single) -> None: ...
    # Microsoft.Windows.AI.ContentSafety.ContentFilterOptions Microsoft.Windows.AI.Text.LanguageModelOptions::get_ContentFilterOptions()
    @_property
    def content_filter_options(self) -> microsoft_windows_ai_contentsafety.ContentFilterOptions: ...
    # System.Void Microsoft.Windows.AI.Text.LanguageModelOptions::put_ContentFilterOptions(Microsoft.Windows.AI.ContentSafety.ContentFilterOptions)
    @content_filter_options.setter
    def content_filter_options(self, value: microsoft_windows_ai_contentsafety.ContentFilterOptions) -> None: ...

@typing.final
class LanguageModelResponseResult(winrt.system.Object):
    # Windows.Foundation.HResult Microsoft.Windows.AI.Text.LanguageModelResponseResult::get_ExtendedError()
    @_property
    def extended_error(self) -> windows_foundation.HResult: ...
    # Microsoft.Windows.AI.Text.LanguageModelResponseStatus Microsoft.Windows.AI.Text.LanguageModelResponseResult::get_Status()
    @_property
    def status(self) -> LanguageModelResponseStatus: ...
    # System.String Microsoft.Windows.AI.Text.LanguageModelResponseResult::get_Text()
    @_property
    def text(self) -> str: ...

@typing.final
class TextRewriter(winrt.system.Object):
    def __new__(cls: typing.Type[Self], language_model: LanguageModel) -> Self: ...
    # Windows.Foundation.IAsyncOperationWithProgress`2<Microsoft.Windows.AI.Text.LanguageModelResponseResult,System.String> Microsoft.Windows.AI.Text.TextRewriter::RewriteAsync(System.String)
    def rewrite_async(self, text: str, /) -> windows_foundation.IAsyncOperationWithProgress[LanguageModelResponseResult, str]: ...

@typing.final
class TextSummarizer(winrt.system.Object):
    def __new__(cls: typing.Type[Self], language_model: LanguageModel) -> Self: ...
    # Windows.Foundation.IAsyncOperationWithProgress`2<Microsoft.Windows.AI.Text.LanguageModelResponseResult,System.String> Microsoft.Windows.AI.Text.TextSummarizer::SummarizeAsync(System.String)
    def summarize_async(self, text: str, /) -> windows_foundation.IAsyncOperationWithProgress[LanguageModelResponseResult, str]: ...
    # Windows.Foundation.IAsyncOperationWithProgress`2<Microsoft.Windows.AI.Text.LanguageModelResponseResult,System.String> Microsoft.Windows.AI.Text.TextSummarizer::SummarizeParagraphAsync(System.String)
    def summarize_paragraph_async(self, text: str, /) -> windows_foundation.IAsyncOperationWithProgress[LanguageModelResponseResult, str]: ...

@typing.final
class TextToTableConverter(winrt.system.Object):
    def __new__(cls: typing.Type[Self], language_model: LanguageModel) -> Self: ...
    # Windows.Foundation.IAsyncOperationWithProgress`2<Microsoft.Windows.AI.Text.TextToTableResponseResult,System.String> Microsoft.Windows.AI.Text.TextToTableConverter::ConvertAsync(System.String)
    def convert_async(self, text: str, /) -> windows_foundation.IAsyncOperationWithProgress[TextToTableResponseResult, str]: ...

@typing.final
class TextToTableResponseResult(winrt.system.Object):
    # Microsoft.Windows.AI.Text.TextToTableRow[] Microsoft.Windows.AI.Text.TextToTableResponseResult::GetRows()
    def get_rows(self) -> winrt.system.Array[TextToTableRow]: ...
    # Windows.Foundation.HResult Microsoft.Windows.AI.Text.TextToTableResponseResult::get_ExtendedError()
    @_property
    def extended_error(self) -> windows_foundation.HResult: ...
    # Microsoft.Windows.AI.Text.LanguageModelResponseStatus Microsoft.Windows.AI.Text.TextToTableResponseResult::get_Status()
    @_property
    def status(self) -> LanguageModelResponseStatus: ...

@typing.final
class TextToTableRow(winrt.system.Object):
    # System.String[] Microsoft.Windows.AI.Text.TextToTableRow::GetColumns()
    def get_columns(self) -> winrt.system.Array[str]: ...

