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

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.globalization as windows_globalization
import winrt.windows.storage as windows_storage

from winrt.windows.media.speechrecognition import SpeechContinuousRecognitionMode, SpeechRecognitionAudioProblem, SpeechRecognitionConfidence, SpeechRecognitionConstraintProbability, SpeechRecognitionConstraintType, SpeechRecognitionResultStatus, SpeechRecognitionScenario, SpeechRecognizerState

Self = typing.TypeVar('Self')

@typing.final
class SpeechContinuousRecognitionCompletedEventArgs(winrt.system.Object):
    # Windows.Media.SpeechRecognition.SpeechRecognitionResultStatus Windows.Media.SpeechRecognition.SpeechContinuousRecognitionCompletedEventArgs::get_Status()
    @_property
    def status(self) -> SpeechRecognitionResultStatus: ...

@typing.final
class SpeechContinuousRecognitionResultGeneratedEventArgs(winrt.system.Object):
    # Windows.Media.SpeechRecognition.SpeechRecognitionResult Windows.Media.SpeechRecognition.SpeechContinuousRecognitionResultGeneratedEventArgs::get_Result()
    @_property
    def result(self) -> SpeechRecognitionResult: ...

@typing.final
class SpeechContinuousRecognitionSession(winrt.system.Object):
    # Windows.Foundation.IAsyncAction Windows.Media.SpeechRecognition.SpeechContinuousRecognitionSession::CancelAsync()
    def cancel_async(self) -> windows_foundation.IAsyncAction: ...
    # Windows.Foundation.IAsyncAction Windows.Media.SpeechRecognition.SpeechContinuousRecognitionSession::PauseAsync()
    def pause_async(self) -> windows_foundation.IAsyncAction: ...
    # System.Void Windows.Media.SpeechRecognition.SpeechContinuousRecognitionSession::Resume()
    def resume(self) -> None: ...
    # Windows.Foundation.IAsyncAction Windows.Media.SpeechRecognition.SpeechContinuousRecognitionSession::StartAsync()
    def start_async(self) -> windows_foundation.IAsyncAction: ...
    # Windows.Foundation.IAsyncAction Windows.Media.SpeechRecognition.SpeechContinuousRecognitionSession::StartAsync(Windows.Media.SpeechRecognition.SpeechContinuousRecognitionMode)
    def start_with_mode_async(self, mode: SpeechContinuousRecognitionMode, /) -> windows_foundation.IAsyncAction: ...
    # Windows.Foundation.IAsyncAction Windows.Media.SpeechRecognition.SpeechContinuousRecognitionSession::StopAsync()
    def stop_async(self) -> windows_foundation.IAsyncAction: ...
    # Windows.Foundation.EventRegistrationToken Windows.Media.SpeechRecognition.SpeechContinuousRecognitionSession::add_Completed(Windows.Foundation.TypedEventHandler`2<Windows.Media.SpeechRecognition.SpeechContinuousRecognitionSession,Windows.Media.SpeechRecognition.SpeechContinuousRecognitionCompletedEventArgs>)
    def add_completed(self, value: windows_foundation.TypedEventHandler[SpeechContinuousRecognitionSession, SpeechContinuousRecognitionCompletedEventArgs], /) -> windows_foundation.EventRegistrationToken: ...
    # System.Void Windows.Media.SpeechRecognition.SpeechContinuousRecognitionSession::remove_Completed(Windows.Foundation.EventRegistrationToken)
    def remove_completed(self, value: typing.Union[windows_foundation.EventRegistrationToken, typing.Tuple[winrt.system.Int64]], /) -> None: ...
    # Windows.Foundation.EventRegistrationToken Windows.Media.SpeechRecognition.SpeechContinuousRecognitionSession::add_ResultGenerated(Windows.Foundation.TypedEventHandler`2<Windows.Media.SpeechRecognition.SpeechContinuousRecognitionSession,Windows.Media.SpeechRecognition.SpeechContinuousRecognitionResultGeneratedEventArgs>)
    def add_result_generated(self, value: windows_foundation.TypedEventHandler[SpeechContinuousRecognitionSession, SpeechContinuousRecognitionResultGeneratedEventArgs], /) -> windows_foundation.EventRegistrationToken: ...
    # System.Void Windows.Media.SpeechRecognition.SpeechContinuousRecognitionSession::remove_ResultGenerated(Windows.Foundation.EventRegistrationToken)
    def remove_result_generated(self, value: typing.Union[windows_foundation.EventRegistrationToken, typing.Tuple[winrt.system.Int64]], /) -> None: ...
    # Windows.Foundation.TimeSpan Windows.Media.SpeechRecognition.SpeechContinuousRecognitionSession::get_AutoStopSilenceTimeout()
    @_property
    def auto_stop_silence_timeout(self) -> datetime.timedelta: ...
    # System.Void Windows.Media.SpeechRecognition.SpeechContinuousRecognitionSession::put_AutoStopSilenceTimeout(Windows.Foundation.TimeSpan)
    @auto_stop_silence_timeout.setter
    def auto_stop_silence_timeout(self, value: datetime.timedelta) -> None: ...

@typing.final
class SpeechRecognitionCompilationResult(winrt.system.Object):
    # Windows.Media.SpeechRecognition.SpeechRecognitionResultStatus Windows.Media.SpeechRecognition.SpeechRecognitionCompilationResult::get_Status()
    @_property
    def status(self) -> SpeechRecognitionResultStatus: ...

@typing.final
class SpeechRecognitionGrammarFileConstraint(winrt.system.Object, ISpeechRecognitionConstraint):
    @typing.overload
    def __new__(cls: typing.Type[Self], file: windows_storage.StorageFile) -> Self: ...
    @typing.overload
    def __new__(cls: typing.Type[Self], file: windows_storage.StorageFile, tag: str) -> Self: ...
    # System.String Windows.Media.SpeechRecognition.SpeechRecognitionGrammarFileConstraint::get_Tag()
    @_property
    def tag(self) -> str: ...
    # System.Void Windows.Media.SpeechRecognition.SpeechRecognitionGrammarFileConstraint::put_Tag(System.String)
    @tag.setter
    def tag(self, value: str) -> None: ...
    # Windows.Media.SpeechRecognition.SpeechRecognitionConstraintProbability Windows.Media.SpeechRecognition.SpeechRecognitionGrammarFileConstraint::get_Probability()
    @_property
    def probability(self) -> SpeechRecognitionConstraintProbability: ...
    # System.Void Windows.Media.SpeechRecognition.SpeechRecognitionGrammarFileConstraint::put_Probability(Windows.Media.SpeechRecognition.SpeechRecognitionConstraintProbability)
    @probability.setter
    def probability(self, value: SpeechRecognitionConstraintProbability) -> None: ...
    # System.Boolean Windows.Media.SpeechRecognition.SpeechRecognitionGrammarFileConstraint::get_IsEnabled()
    @_property
    def is_enabled(self) -> bool: ...
    # System.Void Windows.Media.SpeechRecognition.SpeechRecognitionGrammarFileConstraint::put_IsEnabled(System.Boolean)
    @is_enabled.setter
    def is_enabled(self, value: bool) -> None: ...
    # Windows.Media.SpeechRecognition.SpeechRecognitionConstraintType Windows.Media.SpeechRecognition.SpeechRecognitionGrammarFileConstraint::get_Type()
    @_property
    def type(self) -> SpeechRecognitionConstraintType: ...
    # Windows.Storage.StorageFile Windows.Media.SpeechRecognition.SpeechRecognitionGrammarFileConstraint::get_GrammarFile()
    @_property
    def grammar_file(self) -> windows_storage.StorageFile: ...

@typing.final
class SpeechRecognitionHypothesis(winrt.system.Object):
    # System.String Windows.Media.SpeechRecognition.SpeechRecognitionHypothesis::get_Text()
    @_property
    def text(self) -> str: ...

@typing.final
class SpeechRecognitionHypothesisGeneratedEventArgs(winrt.system.Object):
    # Windows.Media.SpeechRecognition.SpeechRecognitionHypothesis Windows.Media.SpeechRecognition.SpeechRecognitionHypothesisGeneratedEventArgs::get_Hypothesis()
    @_property
    def hypothesis(self) -> SpeechRecognitionHypothesis: ...

@typing.final
class SpeechRecognitionListConstraint(winrt.system.Object, ISpeechRecognitionConstraint):
    @typing.overload
    def __new__(cls: typing.Type[Self], commands: typing.Iterable[str]) -> Self: ...
    @typing.overload
    def __new__(cls: typing.Type[Self], commands: typing.Iterable[str], tag: str) -> Self: ...
    # System.String Windows.Media.SpeechRecognition.SpeechRecognitionListConstraint::get_Tag()
    @_property
    def tag(self) -> str: ...
    # System.Void Windows.Media.SpeechRecognition.SpeechRecognitionListConstraint::put_Tag(System.String)
    @tag.setter
    def tag(self, value: str) -> None: ...
    # Windows.Media.SpeechRecognition.SpeechRecognitionConstraintProbability Windows.Media.SpeechRecognition.SpeechRecognitionListConstraint::get_Probability()
    @_property
    def probability(self) -> SpeechRecognitionConstraintProbability: ...
    # System.Void Windows.Media.SpeechRecognition.SpeechRecognitionListConstraint::put_Probability(Windows.Media.SpeechRecognition.SpeechRecognitionConstraintProbability)
    @probability.setter
    def probability(self, value: SpeechRecognitionConstraintProbability) -> None: ...
    # System.Boolean Windows.Media.SpeechRecognition.SpeechRecognitionListConstraint::get_IsEnabled()
    @_property
    def is_enabled(self) -> bool: ...
    # System.Void Windows.Media.SpeechRecognition.SpeechRecognitionListConstraint::put_IsEnabled(System.Boolean)
    @is_enabled.setter
    def is_enabled(self, value: bool) -> None: ...
    # Windows.Media.SpeechRecognition.SpeechRecognitionConstraintType Windows.Media.SpeechRecognition.SpeechRecognitionListConstraint::get_Type()
    @_property
    def type(self) -> SpeechRecognitionConstraintType: ...
    # Windows.Foundation.Collections.IVector`1<System.String> Windows.Media.SpeechRecognition.SpeechRecognitionListConstraint::get_Commands()
    @_property
    def commands(self) -> typing.MutableSequence[str]: ...

@typing.final
class SpeechRecognitionQualityDegradingEventArgs(winrt.system.Object):
    # Windows.Media.SpeechRecognition.SpeechRecognitionAudioProblem Windows.Media.SpeechRecognition.SpeechRecognitionQualityDegradingEventArgs::get_Problem()
    @_property
    def problem(self) -> SpeechRecognitionAudioProblem: ...

@typing.final
class SpeechRecognitionResult(winrt.system.Object):
    # Windows.Foundation.Collections.IVectorView`1<Windows.Media.SpeechRecognition.SpeechRecognitionResult> Windows.Media.SpeechRecognition.SpeechRecognitionResult::GetAlternates(System.UInt32)
    def get_alternates(self, max_alternates: winrt.system.UInt32, /) -> typing.Sequence[SpeechRecognitionResult]: ...
    # Windows.Media.SpeechRecognition.SpeechRecognitionConfidence Windows.Media.SpeechRecognition.SpeechRecognitionResult::get_Confidence()
    @_property
    def confidence(self) -> SpeechRecognitionConfidence: ...
    # Windows.Media.SpeechRecognition.ISpeechRecognitionConstraint Windows.Media.SpeechRecognition.SpeechRecognitionResult::get_Constraint()
    @_property
    def constraint(self) -> ISpeechRecognitionConstraint: ...
    # System.Double Windows.Media.SpeechRecognition.SpeechRecognitionResult::get_RawConfidence()
    @_property
    def raw_confidence(self) -> winrt.system.Double: ...
    # Windows.Foundation.Collections.IVectorView`1<System.String> Windows.Media.SpeechRecognition.SpeechRecognitionResult::get_RulePath()
    @_property
    def rule_path(self) -> typing.Sequence[str]: ...
    # Windows.Media.SpeechRecognition.SpeechRecognitionSemanticInterpretation Windows.Media.SpeechRecognition.SpeechRecognitionResult::get_SemanticInterpretation()
    @_property
    def semantic_interpretation(self) -> SpeechRecognitionSemanticInterpretation: ...
    # Windows.Media.SpeechRecognition.SpeechRecognitionResultStatus Windows.Media.SpeechRecognition.SpeechRecognitionResult::get_Status()
    @_property
    def status(self) -> SpeechRecognitionResultStatus: ...
    # System.String Windows.Media.SpeechRecognition.SpeechRecognitionResult::get_Text()
    @_property
    def text(self) -> str: ...
    # Windows.Foundation.TimeSpan Windows.Media.SpeechRecognition.SpeechRecognitionResult::get_PhraseDuration()
    @_property
    def phrase_duration(self) -> datetime.timedelta: ...
    # Windows.Foundation.DateTime Windows.Media.SpeechRecognition.SpeechRecognitionResult::get_PhraseStartTime()
    @_property
    def phrase_start_time(self) -> datetime.datetime: ...

@typing.final
class SpeechRecognitionSemanticInterpretation(winrt.system.Object):
    # Windows.Foundation.Collections.IMapView`2<System.String,Windows.Foundation.Collections.IVectorView`1<System.String>> Windows.Media.SpeechRecognition.SpeechRecognitionSemanticInterpretation::get_Properties()
    @_property
    def properties(self) -> typing.Mapping[str, typing.Sequence[str]]: ...

@typing.final
class SpeechRecognitionTopicConstraint(winrt.system.Object, ISpeechRecognitionConstraint):
    @typing.overload
    def __new__(cls: typing.Type[Self], scenario: SpeechRecognitionScenario, topic_hint: str) -> Self: ...
    @typing.overload
    def __new__(cls: typing.Type[Self], scenario: SpeechRecognitionScenario, topic_hint: str, tag: str) -> Self: ...
    # System.String Windows.Media.SpeechRecognition.SpeechRecognitionTopicConstraint::get_Tag()
    @_property
    def tag(self) -> str: ...
    # System.Void Windows.Media.SpeechRecognition.SpeechRecognitionTopicConstraint::put_Tag(System.String)
    @tag.setter
    def tag(self, value: str) -> None: ...
    # Windows.Media.SpeechRecognition.SpeechRecognitionConstraintProbability Windows.Media.SpeechRecognition.SpeechRecognitionTopicConstraint::get_Probability()
    @_property
    def probability(self) -> SpeechRecognitionConstraintProbability: ...
    # System.Void Windows.Media.SpeechRecognition.SpeechRecognitionTopicConstraint::put_Probability(Windows.Media.SpeechRecognition.SpeechRecognitionConstraintProbability)
    @probability.setter
    def probability(self, value: SpeechRecognitionConstraintProbability) -> None: ...
    # System.Boolean Windows.Media.SpeechRecognition.SpeechRecognitionTopicConstraint::get_IsEnabled()
    @_property
    def is_enabled(self) -> bool: ...
    # System.Void Windows.Media.SpeechRecognition.SpeechRecognitionTopicConstraint::put_IsEnabled(System.Boolean)
    @is_enabled.setter
    def is_enabled(self, value: bool) -> None: ...
    # Windows.Media.SpeechRecognition.SpeechRecognitionConstraintType Windows.Media.SpeechRecognition.SpeechRecognitionTopicConstraint::get_Type()
    @_property
    def type(self) -> SpeechRecognitionConstraintType: ...
    # Windows.Media.SpeechRecognition.SpeechRecognitionScenario Windows.Media.SpeechRecognition.SpeechRecognitionTopicConstraint::get_Scenario()
    @_property
    def scenario(self) -> SpeechRecognitionScenario: ...
    # System.String Windows.Media.SpeechRecognition.SpeechRecognitionTopicConstraint::get_TopicHint()
    @_property
    def topic_hint(self) -> str: ...

@typing.final
class SpeechRecognitionVoiceCommandDefinitionConstraint(winrt.system.Object, ISpeechRecognitionConstraint):
    # System.String Windows.Media.SpeechRecognition.SpeechRecognitionVoiceCommandDefinitionConstraint::get_Tag()
    @_property
    def tag(self) -> str: ...
    # System.Void Windows.Media.SpeechRecognition.SpeechRecognitionVoiceCommandDefinitionConstraint::put_Tag(System.String)
    @tag.setter
    def tag(self, value: str) -> None: ...
    # Windows.Media.SpeechRecognition.SpeechRecognitionConstraintProbability Windows.Media.SpeechRecognition.SpeechRecognitionVoiceCommandDefinitionConstraint::get_Probability()
    @_property
    def probability(self) -> SpeechRecognitionConstraintProbability: ...
    # System.Void Windows.Media.SpeechRecognition.SpeechRecognitionVoiceCommandDefinitionConstraint::put_Probability(Windows.Media.SpeechRecognition.SpeechRecognitionConstraintProbability)
    @probability.setter
    def probability(self, value: SpeechRecognitionConstraintProbability) -> None: ...
    # System.Boolean Windows.Media.SpeechRecognition.SpeechRecognitionVoiceCommandDefinitionConstraint::get_IsEnabled()
    @_property
    def is_enabled(self) -> bool: ...
    # System.Void Windows.Media.SpeechRecognition.SpeechRecognitionVoiceCommandDefinitionConstraint::put_IsEnabled(System.Boolean)
    @is_enabled.setter
    def is_enabled(self, value: bool) -> None: ...
    # Windows.Media.SpeechRecognition.SpeechRecognitionConstraintType Windows.Media.SpeechRecognition.SpeechRecognitionVoiceCommandDefinitionConstraint::get_Type()
    @_property
    def type(self) -> SpeechRecognitionConstraintType: ...

@typing.final
class SpeechRecognizer_Static(winrt._winrt.IInspectable_Static):
    # Windows.Foundation.IAsyncOperation`1<System.Boolean> Windows.Media.SpeechRecognition.SpeechRecognizer::TrySetSystemSpeechLanguageAsync(Windows.Globalization.Language)
    def try_set_system_speech_language_async(cls, speech_language: windows_globalization.Language, /) -> windows_foundation.IAsyncOperation[bool]: ...
    # Windows.Foundation.Collections.IVectorView`1<Windows.Globalization.Language> Windows.Media.SpeechRecognition.SpeechRecognizer::get_SupportedGrammarLanguages()
    @_property
    def supported_grammar_languages(cls) -> typing.Sequence[windows_globalization.Language]: ...
    # Windows.Foundation.Collections.IVectorView`1<Windows.Globalization.Language> Windows.Media.SpeechRecognition.SpeechRecognizer::get_SupportedTopicLanguages()
    @_property
    def supported_topic_languages(cls) -> typing.Sequence[windows_globalization.Language]: ...
    # Windows.Globalization.Language Windows.Media.SpeechRecognition.SpeechRecognizer::get_SystemSpeechLanguage()
    @_property
    def system_speech_language(cls) -> windows_globalization.Language: ...

@typing.final
class SpeechRecognizer(winrt.system.Object, windows_foundation.IClosable, metaclass=SpeechRecognizer_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], language: windows_globalization.Language) -> Self: ...
    @typing.overload
    def __new__(cls: typing.Type[Self]) -> Self: ...
    # System.Void Windows.Media.SpeechRecognition.SpeechRecognizer::Close()
    def close(self) -> None: ...
    # Windows.Foundation.IAsyncOperation`1<Windows.Media.SpeechRecognition.SpeechRecognitionCompilationResult> Windows.Media.SpeechRecognition.SpeechRecognizer::CompileConstraintsAsync()
    def compile_constraints_async(self) -> windows_foundation.IAsyncOperation[SpeechRecognitionCompilationResult]: ...
    # Windows.Foundation.IAsyncOperation`1<Windows.Media.SpeechRecognition.SpeechRecognitionResult> Windows.Media.SpeechRecognition.SpeechRecognizer::RecognizeAsync()
    def recognize_async(self) -> windows_foundation.IAsyncOperation[SpeechRecognitionResult]: ...
    # Windows.Foundation.IAsyncOperation`1<Windows.Media.SpeechRecognition.SpeechRecognitionResult> Windows.Media.SpeechRecognition.SpeechRecognizer::RecognizeWithUIAsync()
    def recognize_with_ui_async(self) -> windows_foundation.IAsyncOperation[SpeechRecognitionResult]: ...
    # Windows.Foundation.IAsyncAction Windows.Media.SpeechRecognition.SpeechRecognizer::StopRecognitionAsync()
    def stop_recognition_async(self) -> windows_foundation.IAsyncAction: ...
    # Windows.Foundation.EventRegistrationToken Windows.Media.SpeechRecognition.SpeechRecognizer::add_RecognitionQualityDegrading(Windows.Foundation.TypedEventHandler`2<Windows.Media.SpeechRecognition.SpeechRecognizer,Windows.Media.SpeechRecognition.SpeechRecognitionQualityDegradingEventArgs>)
    def add_recognition_quality_degrading(self, speech_recognition_quality_degrading_handler: windows_foundation.TypedEventHandler[SpeechRecognizer, SpeechRecognitionQualityDegradingEventArgs], /) -> windows_foundation.EventRegistrationToken: ...
    # System.Void Windows.Media.SpeechRecognition.SpeechRecognizer::remove_RecognitionQualityDegrading(Windows.Foundation.EventRegistrationToken)
    def remove_recognition_quality_degrading(self, cookie: typing.Union[windows_foundation.EventRegistrationToken, typing.Tuple[winrt.system.Int64]], /) -> None: ...
    # Windows.Foundation.EventRegistrationToken Windows.Media.SpeechRecognition.SpeechRecognizer::add_StateChanged(Windows.Foundation.TypedEventHandler`2<Windows.Media.SpeechRecognition.SpeechRecognizer,Windows.Media.SpeechRecognition.SpeechRecognizerStateChangedEventArgs>)
    def add_state_changed(self, state_changed_handler: windows_foundation.TypedEventHandler[SpeechRecognizer, SpeechRecognizerStateChangedEventArgs], /) -> windows_foundation.EventRegistrationToken: ...
    # System.Void Windows.Media.SpeechRecognition.SpeechRecognizer::remove_StateChanged(Windows.Foundation.EventRegistrationToken)
    def remove_state_changed(self, cookie: typing.Union[windows_foundation.EventRegistrationToken, typing.Tuple[winrt.system.Int64]], /) -> None: ...
    # Windows.Foundation.EventRegistrationToken Windows.Media.SpeechRecognition.SpeechRecognizer::add_HypothesisGenerated(Windows.Foundation.TypedEventHandler`2<Windows.Media.SpeechRecognition.SpeechRecognizer,Windows.Media.SpeechRecognition.SpeechRecognitionHypothesisGeneratedEventArgs>)
    def add_hypothesis_generated(self, value: windows_foundation.TypedEventHandler[SpeechRecognizer, SpeechRecognitionHypothesisGeneratedEventArgs], /) -> windows_foundation.EventRegistrationToken: ...
    # System.Void Windows.Media.SpeechRecognition.SpeechRecognizer::remove_HypothesisGenerated(Windows.Foundation.EventRegistrationToken)
    def remove_hypothesis_generated(self, value: typing.Union[windows_foundation.EventRegistrationToken, typing.Tuple[winrt.system.Int64]], /) -> None: ...
    # Windows.Foundation.Collections.IVector`1<Windows.Media.SpeechRecognition.ISpeechRecognitionConstraint> Windows.Media.SpeechRecognition.SpeechRecognizer::get_Constraints()
    @_property
    def constraints(self) -> typing.MutableSequence[ISpeechRecognitionConstraint]: ...
    # Windows.Globalization.Language Windows.Media.SpeechRecognition.SpeechRecognizer::get_CurrentLanguage()
    @_property
    def current_language(self) -> windows_globalization.Language: ...
    # Windows.Media.SpeechRecognition.SpeechRecognizerTimeouts Windows.Media.SpeechRecognition.SpeechRecognizer::get_Timeouts()
    @_property
    def timeouts(self) -> SpeechRecognizerTimeouts: ...
    # Windows.Media.SpeechRecognition.SpeechRecognizerUIOptions Windows.Media.SpeechRecognition.SpeechRecognizer::get_UIOptions()
    @_property
    def ui_options(self) -> SpeechRecognizerUIOptions: ...
    # Windows.Media.SpeechRecognition.SpeechContinuousRecognitionSession Windows.Media.SpeechRecognition.SpeechRecognizer::get_ContinuousRecognitionSession()
    @_property
    def continuous_recognition_session(self) -> SpeechContinuousRecognitionSession: ...
    # Windows.Media.SpeechRecognition.SpeechRecognizerState Windows.Media.SpeechRecognition.SpeechRecognizer::get_State()
    @_property
    def state(self) -> SpeechRecognizerState: ...

@typing.final
class SpeechRecognizerStateChangedEventArgs(winrt.system.Object):
    # Windows.Media.SpeechRecognition.SpeechRecognizerState Windows.Media.SpeechRecognition.SpeechRecognizerStateChangedEventArgs::get_State()
    @_property
    def state(self) -> SpeechRecognizerState: ...

@typing.final
class SpeechRecognizerTimeouts(winrt.system.Object):
    # Windows.Foundation.TimeSpan Windows.Media.SpeechRecognition.SpeechRecognizerTimeouts::get_InitialSilenceTimeout()
    @_property
    def initial_silence_timeout(self) -> datetime.timedelta: ...
    # System.Void Windows.Media.SpeechRecognition.SpeechRecognizerTimeouts::put_InitialSilenceTimeout(Windows.Foundation.TimeSpan)
    @initial_silence_timeout.setter
    def initial_silence_timeout(self, value: datetime.timedelta) -> None: ...
    # Windows.Foundation.TimeSpan Windows.Media.SpeechRecognition.SpeechRecognizerTimeouts::get_EndSilenceTimeout()
    @_property
    def end_silence_timeout(self) -> datetime.timedelta: ...
    # System.Void Windows.Media.SpeechRecognition.SpeechRecognizerTimeouts::put_EndSilenceTimeout(Windows.Foundation.TimeSpan)
    @end_silence_timeout.setter
    def end_silence_timeout(self, value: datetime.timedelta) -> None: ...
    # Windows.Foundation.TimeSpan Windows.Media.SpeechRecognition.SpeechRecognizerTimeouts::get_BabbleTimeout()
    @_property
    def babble_timeout(self) -> datetime.timedelta: ...
    # System.Void Windows.Media.SpeechRecognition.SpeechRecognizerTimeouts::put_BabbleTimeout(Windows.Foundation.TimeSpan)
    @babble_timeout.setter
    def babble_timeout(self, value: datetime.timedelta) -> None: ...

@typing.final
class SpeechRecognizerUIOptions(winrt.system.Object):
    # System.Boolean Windows.Media.SpeechRecognition.SpeechRecognizerUIOptions::get_ShowConfirmation()
    @_property
    def show_confirmation(self) -> bool: ...
    # System.Void Windows.Media.SpeechRecognition.SpeechRecognizerUIOptions::put_ShowConfirmation(System.Boolean)
    @show_confirmation.setter
    def show_confirmation(self, value: bool) -> None: ...
    # System.Boolean Windows.Media.SpeechRecognition.SpeechRecognizerUIOptions::get_IsReadBackEnabled()
    @_property
    def is_read_back_enabled(self) -> bool: ...
    # System.Void Windows.Media.SpeechRecognition.SpeechRecognizerUIOptions::put_IsReadBackEnabled(System.Boolean)
    @is_read_back_enabled.setter
    def is_read_back_enabled(self, value: bool) -> None: ...
    # System.String Windows.Media.SpeechRecognition.SpeechRecognizerUIOptions::get_ExampleText()
    @_property
    def example_text(self) -> str: ...
    # System.Void Windows.Media.SpeechRecognition.SpeechRecognizerUIOptions::put_ExampleText(System.String)
    @example_text.setter
    def example_text(self, value: str) -> None: ...
    # System.String Windows.Media.SpeechRecognition.SpeechRecognizerUIOptions::get_AudiblePrompt()
    @_property
    def audible_prompt(self) -> str: ...
    # System.Void Windows.Media.SpeechRecognition.SpeechRecognizerUIOptions::put_AudiblePrompt(System.String)
    @audible_prompt.setter
    def audible_prompt(self, value: str) -> None: ...

@typing.final
class VoiceCommandManager_Static(winrt._winrt.IInspectable_Static):
    # Windows.Foundation.IAsyncAction Windows.Media.SpeechRecognition.VoiceCommandManager::InstallCommandSetsFromStorageFileAsync(Windows.Storage.StorageFile)
    def install_command_sets_from_storage_file_async(cls, file: windows_storage.StorageFile, /) -> windows_foundation.IAsyncAction: ...
    # Windows.Foundation.Collections.IMapView`2<System.String,Windows.Media.SpeechRecognition.VoiceCommandSet> Windows.Media.SpeechRecognition.VoiceCommandManager::get_InstalledCommandSets()
    @_property
    def installed_command_sets(cls) -> typing.Mapping[str, VoiceCommandSet]: ...

@typing.final
class VoiceCommandManager(winrt.system.Object, metaclass=VoiceCommandManager_Static):
    pass

@typing.final
class VoiceCommandSet(winrt.system.Object):
    # Windows.Foundation.IAsyncAction Windows.Media.SpeechRecognition.VoiceCommandSet::SetPhraseListAsync(System.String,Windows.Foundation.Collections.IIterable`1<System.String>)
    def set_phrase_list_async(self, phrase_list_name: str, phrase_list: typing.Iterable[str], /) -> windows_foundation.IAsyncAction: ...
    # System.String Windows.Media.SpeechRecognition.VoiceCommandSet::get_Language()
    @_property
    def language(self) -> str: ...
    # System.String Windows.Media.SpeechRecognition.VoiceCommandSet::get_Name()
    @_property
    def name(self) -> str: ...

@typing.final
class _ISpeechRecognitionConstraint: ...

class ISpeechRecognitionConstraint(winrt._winrt.IInspectable):
    # System.Boolean Windows.Media.SpeechRecognition.ISpeechRecognitionConstraint::get_IsEnabled()
    @_property
    @abstractmethod
    def is_enabled(self) -> bool: ...
    # System.Void Windows.Media.SpeechRecognition.ISpeechRecognitionConstraint::put_IsEnabled(System.Boolean)
    @is_enabled.setter
    @abstractmethod
    def is_enabled(self, value: bool) -> None: ...
    # Windows.Media.SpeechRecognition.SpeechRecognitionConstraintProbability Windows.Media.SpeechRecognition.ISpeechRecognitionConstraint::get_Probability()
    @_property
    @abstractmethod
    def probability(self) -> SpeechRecognitionConstraintProbability: ...
    # System.Void Windows.Media.SpeechRecognition.ISpeechRecognitionConstraint::put_Probability(Windows.Media.SpeechRecognition.SpeechRecognitionConstraintProbability)
    @probability.setter
    @abstractmethod
    def probability(self, value: SpeechRecognitionConstraintProbability) -> None: ...
    # System.String Windows.Media.SpeechRecognition.ISpeechRecognitionConstraint::get_Tag()
    @_property
    @abstractmethod
    def tag(self) -> str: ...
    # System.Void Windows.Media.SpeechRecognition.ISpeechRecognitionConstraint::put_Tag(System.String)
    @tag.setter
    @abstractmethod
    def tag(self, value: str) -> None: ...
    # Windows.Media.SpeechRecognition.SpeechRecognitionConstraintType Windows.Media.SpeechRecognition.ISpeechRecognitionConstraint::get_Type()
    @_property
    @abstractmethod
    def type(self) -> SpeechRecognitionConstraintType: ...

