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

import datetime
import sys
import types
import typing

import winsdk.system
import winsdk.windows.foundation
import winsdk.windows.foundation.collections
import winsdk.windows.storage
import winsdk.windows.storage.streams

Self = typing.TypeVar('Self')

class LocalContentSuggestionSettings(winsdk.system.Object):
    enabled: winsdk.system.Boolean
    aqs_filter: str
    locations: typing.Optional[winsdk.windows.foundation.collections.IVector[winsdk.windows.storage.StorageFolder]]
    properties_to_match: typing.Optional[winsdk.windows.foundation.collections.IVector[str]]
    @staticmethod
    def _from(obj: winsdk.system.Object, /) -> LocalContentSuggestionSettings: ...
    def __new__(cls: typing.Type[LocalContentSuggestionSettings]) -> LocalContentSuggestionSettings:...

class SearchPane(winsdk.system.Object):
    show_on_keyboard_input: winsdk.system.Boolean
    search_history_enabled: winsdk.system.Boolean
    search_history_context: str
    placeholder_text: str
    language: str
    query_text: str
    visible: winsdk.system.Boolean
    @staticmethod
    def _from(obj: winsdk.system.Object, /) -> SearchPane: ...
    @staticmethod
    def get_for_current_view() -> typing.Optional[SearchPane]: ...
    @staticmethod
    def hide_this_application() -> None: ...
    def set_local_content_suggestion_settings(self, settings: typing.Optional[LocalContentSuggestionSettings], /) -> None: ...
    @typing.overload
    def show(self) -> None: ...
    @typing.overload
    def show(self, query: str, /) -> None: ...
    def try_set_query_text(self, query: str, /) -> winsdk.system.Boolean: ...
    def add_query_changed(self, handler: winsdk.windows.foundation.TypedEventHandler[SearchPane, SearchPaneQueryChangedEventArgs], /) -> winsdk.windows.foundation.EventRegistrationToken: ...
    def remove_query_changed(self, token: winsdk.windows.foundation.EventRegistrationToken, /) -> None: ...
    def add_query_submitted(self, handler: winsdk.windows.foundation.TypedEventHandler[SearchPane, SearchPaneQuerySubmittedEventArgs], /) -> winsdk.windows.foundation.EventRegistrationToken: ...
    def remove_query_submitted(self, token: winsdk.windows.foundation.EventRegistrationToken, /) -> None: ...
    def add_result_suggestion_chosen(self, handler: winsdk.windows.foundation.TypedEventHandler[SearchPane, SearchPaneResultSuggestionChosenEventArgs], /) -> winsdk.windows.foundation.EventRegistrationToken: ...
    def remove_result_suggestion_chosen(self, token: winsdk.windows.foundation.EventRegistrationToken, /) -> None: ...
    def add_suggestions_requested(self, handler: winsdk.windows.foundation.TypedEventHandler[SearchPane, SearchPaneSuggestionsRequestedEventArgs], /) -> winsdk.windows.foundation.EventRegistrationToken: ...
    def remove_suggestions_requested(self, token: winsdk.windows.foundation.EventRegistrationToken, /) -> None: ...
    def add_visibility_changed(self, handler: winsdk.windows.foundation.TypedEventHandler[SearchPane, SearchPaneVisibilityChangedEventArgs], /) -> winsdk.windows.foundation.EventRegistrationToken: ...
    def remove_visibility_changed(self, token: winsdk.windows.foundation.EventRegistrationToken, /) -> None: ...

class SearchPaneQueryChangedEventArgs(winsdk.system.Object):
    language: str
    linguistic_details: typing.Optional[SearchPaneQueryLinguisticDetails]
    query_text: str
    @staticmethod
    def _from(obj: winsdk.system.Object, /) -> SearchPaneQueryChangedEventArgs: ...

class SearchPaneQueryLinguisticDetails(winsdk.system.Object):
    query_text_alternatives: typing.Optional[winsdk.windows.foundation.collections.IVectorView[str]]
    query_text_composition_length: winsdk.system.UInt32
    query_text_composition_start: winsdk.system.UInt32
    @staticmethod
    def _from(obj: winsdk.system.Object, /) -> SearchPaneQueryLinguisticDetails: ...

class SearchPaneQuerySubmittedEventArgs(winsdk.system.Object):
    language: str
    query_text: str
    linguistic_details: typing.Optional[SearchPaneQueryLinguisticDetails]
    @staticmethod
    def _from(obj: winsdk.system.Object, /) -> SearchPaneQuerySubmittedEventArgs: ...

class SearchPaneResultSuggestionChosenEventArgs(winsdk.system.Object):
    tag: str
    @staticmethod
    def _from(obj: winsdk.system.Object, /) -> SearchPaneResultSuggestionChosenEventArgs: ...

class SearchPaneSuggestionsRequest(winsdk.system.Object):
    is_canceled: winsdk.system.Boolean
    search_suggestion_collection: typing.Optional[SearchSuggestionCollection]
    @staticmethod
    def _from(obj: winsdk.system.Object, /) -> SearchPaneSuggestionsRequest: ...
    def get_deferral(self) -> typing.Optional[SearchPaneSuggestionsRequestDeferral]: ...

class SearchPaneSuggestionsRequestDeferral(winsdk.system.Object):
    @staticmethod
    def _from(obj: winsdk.system.Object, /) -> SearchPaneSuggestionsRequestDeferral: ...
    def complete(self) -> None: ...

class SearchPaneSuggestionsRequestedEventArgs(winsdk.system.Object):
    language: str
    linguistic_details: typing.Optional[SearchPaneQueryLinguisticDetails]
    query_text: str
    request: typing.Optional[SearchPaneSuggestionsRequest]
    @staticmethod
    def _from(obj: winsdk.system.Object, /) -> SearchPaneSuggestionsRequestedEventArgs: ...

class SearchPaneVisibilityChangedEventArgs(winsdk.system.Object):
    visible: winsdk.system.Boolean
    @staticmethod
    def _from(obj: winsdk.system.Object, /) -> SearchPaneVisibilityChangedEventArgs: ...

class SearchQueryLinguisticDetails(winsdk.system.Object):
    query_text_alternatives: typing.Optional[winsdk.windows.foundation.collections.IVectorView[str]]
    query_text_composition_length: winsdk.system.UInt32
    query_text_composition_start: winsdk.system.UInt32
    @staticmethod
    def _from(obj: winsdk.system.Object, /) -> SearchQueryLinguisticDetails: ...
    def __new__(cls: typing.Type[SearchQueryLinguisticDetails], query_text_alternatives: typing.Iterable[str], query_text_composition_start: winsdk.system.UInt32, query_text_composition_length: winsdk.system.UInt32) -> SearchQueryLinguisticDetails:...

class SearchSuggestionCollection(winsdk.system.Object):
    size: winsdk.system.UInt32
    @staticmethod
    def _from(obj: winsdk.system.Object, /) -> SearchSuggestionCollection: ...
    def append_query_suggestion(self, text: str, /) -> None: ...
    def append_query_suggestions(self, suggestions: typing.Iterable[str], /) -> None: ...
    def append_result_suggestion(self, text: str, detail_text: str, tag: str, image: typing.Optional[winsdk.windows.storage.streams.IRandomAccessStreamReference], image_alternate_text: str, /) -> None: ...
    def append_search_separator(self, label: str, /) -> None: ...

class SearchSuggestionsRequest(winsdk.system.Object):
    is_canceled: winsdk.system.Boolean
    search_suggestion_collection: typing.Optional[SearchSuggestionCollection]
    @staticmethod
    def _from(obj: winsdk.system.Object, /) -> SearchSuggestionsRequest: ...
    def get_deferral(self) -> typing.Optional[SearchSuggestionsRequestDeferral]: ...

class SearchSuggestionsRequestDeferral(winsdk.system.Object):
    @staticmethod
    def _from(obj: winsdk.system.Object, /) -> SearchSuggestionsRequestDeferral: ...
    def complete(self) -> None: ...

class ISearchPaneQueryChangedEventArgs(winsdk.system.Object):
    language: str
    linguistic_details: typing.Optional[SearchPaneQueryLinguisticDetails]
    query_text: str
    @staticmethod
    def _from(obj: winsdk.system.Object, /) -> ISearchPaneQueryChangedEventArgs: ...

