# WARNING: Please don't edit this file. It was generated by Python/WinRT v3.0.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.storage as windows_storage
import winrt.windows.system as windows_system

from winrt.windows.storage.pickers import PickerLocationId, PickerViewMode

Self = typing.TypeVar('Self')

@typing.final
class FileExtensionVector(winrt.system.Object, winrt._winrt.MutableSequence[str]):
    def __len__(self) -> int: ...
    def __iter__(self) -> typing.Iterator[str]: ...
    @typing.overload
    def __getitem__(self, index: typing.SupportsIndex) -> str: ...
    @typing.overload
    def __getitem__(self, index: slice) -> winrt.system.Array[str]: ...
    @typing.overload
    def __delitem__(self, index: typing.SupportsIndex) -> None: ...
    @typing.overload
    def __delitem__(self, index: slice) -> None: ...
    @typing.overload
    def __setitem__(self, index: typing.SupportsIndex, value: str) -> None: ...
    @typing.overload
    def __setitem__(self, index: slice, value: typing.Iterable[str]) -> None: ...
    # System.Void Windows.Storage.Pickers.FileExtensionVector::Append(System.String)
    def append(self, value: str, /) -> None: ...
    # System.Void Windows.Storage.Pickers.FileExtensionVector::Clear()
    def clear(self) -> None: ...
    # Windows.Foundation.Collections.IIterator`1<System.String> Windows.Storage.Pickers.FileExtensionVector::First()
    def first(self) -> windows_foundation_collections.IIterator[str]: ...
    # System.String Windows.Storage.Pickers.FileExtensionVector::GetAt(System.UInt32)
    def get_at(self, index: winrt.system.UInt32, /) -> str: ...
    # System.UInt32 Windows.Storage.Pickers.FileExtensionVector::GetMany(System.UInt32,System.String[])
    def get_many(self, start_index: winrt.system.UInt32, items: typing.Union[winrt.system.Array[str], winrt.system.WriteableBuffer], /) -> winrt.system.UInt32: ...
    # Windows.Foundation.Collections.IVectorView`1<System.String> Windows.Storage.Pickers.FileExtensionVector::GetView()
    def get_view(self) -> typing.Sequence[str]: ...
    # System.Boolean Windows.Storage.Pickers.FileExtensionVector::IndexOf(System.String,System.UInt32&)
    def index_of(self, value: str, /) -> typing.Tuple[bool, winrt.system.UInt32]: ...
    # System.Void Windows.Storage.Pickers.FileExtensionVector::InsertAt(System.UInt32,System.String)
    def insert_at(self, index: winrt.system.UInt32, value: str, /) -> None: ...
    # System.Void Windows.Storage.Pickers.FileExtensionVector::RemoveAt(System.UInt32)
    def remove_at(self, index: winrt.system.UInt32, /) -> None: ...
    # System.Void Windows.Storage.Pickers.FileExtensionVector::RemoveAtEnd()
    def remove_at_end(self) -> None: ...
    # System.Void Windows.Storage.Pickers.FileExtensionVector::ReplaceAll(System.String[])
    def replace_all(self, items: typing.Union[winrt.system.Array[str], winrt.system.ReadableBuffer], /) -> None: ...
    # System.Void Windows.Storage.Pickers.FileExtensionVector::SetAt(System.UInt32,System.String)
    def set_at(self, index: winrt.system.UInt32, value: str, /) -> None: ...
    # System.UInt32 Windows.Storage.Pickers.FileExtensionVector::get_Size()
    @_property
    def size(self) -> winrt.system.UInt32: ...

@typing.final
class FileOpenPicker_Static(winrt._winrt.IInspectable_Static):
    # Windows.Storage.Pickers.FileOpenPicker Windows.Storage.Pickers.FileOpenPicker::CreateForUser(Windows.System.User)
    def create_for_user(cls, user: windows_system.User, /) -> FileOpenPicker: ...
    # Windows.Foundation.IAsyncOperation`1<Windows.Storage.StorageFile> Windows.Storage.Pickers.FileOpenPicker::ResumePickSingleFileAsync()
    # @deprecated("Instead, use PickSingleFileAsync")
    def resume_pick_single_file_async(cls) -> windows_foundation.IAsyncOperation[windows_storage.StorageFile]: ...

@typing.final
class FileOpenPicker(winrt.system.Object, metaclass=FileOpenPicker_Static):
    def __new__(cls: typing.Type[Self]) -> Self: ...
    # System.Void Windows.Storage.Pickers.FileOpenPicker::PickMultipleFilesAndContinue()
    # @deprecated("Instead, use PickMultipleFilesAsync")
    def pick_multiple_files_and_continue(self) -> None: ...
    # Windows.Foundation.IAsyncOperation`1<Windows.Foundation.Collections.IVectorView`1<Windows.Storage.StorageFile>> Windows.Storage.Pickers.FileOpenPicker::PickMultipleFilesAsync()
    def pick_multiple_files_async(self) -> windows_foundation.IAsyncOperation[typing.Sequence[windows_storage.StorageFile]]: ...
    # System.Void Windows.Storage.Pickers.FileOpenPicker::PickSingleFileAndContinue()
    # @deprecated("Instead, use PickSingleFileAsync")
    def pick_single_file_and_continue(self) -> None: ...
    @typing.overload
    # Windows.Foundation.IAsyncOperation`1<Windows.Storage.StorageFile> Windows.Storage.Pickers.FileOpenPicker::PickSingleFileAsync()
    def pick_single_file_async(self) -> windows_foundation.IAsyncOperation[windows_storage.StorageFile]: ...
    @typing.overload
    # Windows.Foundation.IAsyncOperation`1<Windows.Storage.StorageFile> Windows.Storage.Pickers.FileOpenPicker::PickSingleFileAsync(System.String)
    def pick_single_file_async(self, picker_operation_id: str, /) -> windows_foundation.IAsyncOperation[windows_storage.StorageFile]: ...
    # Windows.Storage.Pickers.PickerViewMode Windows.Storage.Pickers.FileOpenPicker::get_ViewMode()
    @_property
    def view_mode(self) -> PickerViewMode: ...
    # System.Void Windows.Storage.Pickers.FileOpenPicker::put_ViewMode(Windows.Storage.Pickers.PickerViewMode)
    @view_mode.setter
    def view_mode(self, value: PickerViewMode) -> None: ...
    # Windows.Storage.Pickers.PickerLocationId Windows.Storage.Pickers.FileOpenPicker::get_SuggestedStartLocation()
    @_property
    def suggested_start_location(self) -> PickerLocationId: ...
    # System.Void Windows.Storage.Pickers.FileOpenPicker::put_SuggestedStartLocation(Windows.Storage.Pickers.PickerLocationId)
    @suggested_start_location.setter
    def suggested_start_location(self, value: PickerLocationId) -> None: ...
    # System.String Windows.Storage.Pickers.FileOpenPicker::get_SettingsIdentifier()
    @_property
    def settings_identifier(self) -> str: ...
    # System.Void Windows.Storage.Pickers.FileOpenPicker::put_SettingsIdentifier(System.String)
    @settings_identifier.setter
    def settings_identifier(self, value: str) -> None: ...
    # System.String Windows.Storage.Pickers.FileOpenPicker::get_CommitButtonText()
    @_property
    def commit_button_text(self) -> str: ...
    # System.Void Windows.Storage.Pickers.FileOpenPicker::put_CommitButtonText(System.String)
    @commit_button_text.setter
    def commit_button_text(self, value: str) -> None: ...
    # Windows.Foundation.Collections.IVector`1<System.String> Windows.Storage.Pickers.FileOpenPicker::get_FileTypeFilter()
    @_property
    def file_type_filter(self) -> typing.MutableSequence[str]: ...
    # Windows.Foundation.Collections.ValueSet Windows.Storage.Pickers.FileOpenPicker::get_ContinuationData()
    @_property
    def continuation_data(self) -> windows_foundation_collections.ValueSet: ...
    # Windows.System.User Windows.Storage.Pickers.FileOpenPicker::get_User()
    @_property
    def user(self) -> windows_system.User: ...

@typing.final
class FilePickerFileTypesOrderedMap(winrt.system.Object, winrt._winrt.MutableMapping[str, typing.MutableSequence[str]]):
    def __len__(self) -> int: ...
    def __iter__(self) -> typing.Iterator[str]: ...
    def __contains__(self, key: object) -> bool: ...
    def __getitem__(self, key: str) -> typing.MutableSequence[str]: ...
    def __setitem__(self, key: str, value: typing.MutableSequence[str]) -> None: ...
    def __delitem__(self, key: str) -> None: ...
    # System.Void Windows.Storage.Pickers.FilePickerFileTypesOrderedMap::Clear()
    def clear(self) -> None: ...
    # Windows.Foundation.Collections.IIterator`1<Windows.Foundation.Collections.IKeyValuePair`2<System.String,Windows.Foundation.Collections.IVector`1<System.String>>> Windows.Storage.Pickers.FilePickerFileTypesOrderedMap::First()
    def first(self) -> windows_foundation_collections.IIterator[windows_foundation_collections.IKeyValuePair[str, typing.MutableSequence[str]]]: ...
    # Windows.Foundation.Collections.IMapView`2<System.String,Windows.Foundation.Collections.IVector`1<System.String>> Windows.Storage.Pickers.FilePickerFileTypesOrderedMap::GetView()
    def get_view(self) -> typing.Mapping[str, typing.MutableSequence[str]]: ...
    # System.Boolean Windows.Storage.Pickers.FilePickerFileTypesOrderedMap::HasKey(System.String)
    def has_key(self, key: str, /) -> bool: ...
    # System.Boolean Windows.Storage.Pickers.FilePickerFileTypesOrderedMap::Insert(System.String,Windows.Foundation.Collections.IVector`1<System.String>)
    def insert(self, key: str, value: typing.MutableSequence[str], /) -> bool: ...
    # Windows.Foundation.Collections.IVector`1<System.String> Windows.Storage.Pickers.FilePickerFileTypesOrderedMap::Lookup(System.String)
    def lookup(self, key: str, /) -> typing.MutableSequence[str]: ...
    # System.Void Windows.Storage.Pickers.FilePickerFileTypesOrderedMap::Remove(System.String)
    def remove(self, key: str, /) -> None: ...
    # System.UInt32 Windows.Storage.Pickers.FilePickerFileTypesOrderedMap::get_Size()
    @_property
    def size(self) -> winrt.system.UInt32: ...

@typing.final
class FilePickerSelectedFilesArray(winrt.system.Object, winrt._winrt.Sequence[windows_storage.StorageFile]):
    def __len__(self) -> int: ...
    def __iter__(self) -> typing.Iterator[windows_storage.StorageFile]: ...
    @typing.overload
    def __getitem__(self, index: typing.SupportsIndex) -> windows_storage.StorageFile: ...
    @typing.overload
    def __getitem__(self, index: slice) -> winrt.system.Array[windows_storage.StorageFile]: ...
    # Windows.Foundation.Collections.IIterator`1<Windows.Storage.StorageFile> Windows.Storage.Pickers.FilePickerSelectedFilesArray::First()
    def first(self) -> windows_foundation_collections.IIterator[windows_storage.StorageFile]: ...
    # Windows.Storage.StorageFile Windows.Storage.Pickers.FilePickerSelectedFilesArray::GetAt(System.UInt32)
    def get_at(self, index: winrt.system.UInt32, /) -> windows_storage.StorageFile: ...
    # System.UInt32 Windows.Storage.Pickers.FilePickerSelectedFilesArray::GetMany(System.UInt32,Windows.Storage.StorageFile[])
    def get_many(self, start_index: winrt.system.UInt32, items: typing.Union[winrt.system.Array[windows_storage.StorageFile], winrt.system.WriteableBuffer], /) -> winrt.system.UInt32: ...
    # System.Boolean Windows.Storage.Pickers.FilePickerSelectedFilesArray::IndexOf(Windows.Storage.StorageFile,System.UInt32&)
    def index_of(self, value: windows_storage.StorageFile, /) -> typing.Tuple[bool, winrt.system.UInt32]: ...
    # System.UInt32 Windows.Storage.Pickers.FilePickerSelectedFilesArray::get_Size()
    @_property
    def size(self) -> winrt.system.UInt32: ...

@typing.final
class FileSavePicker_Static(winrt._winrt.IInspectable_Static):
    # Windows.Storage.Pickers.FileSavePicker Windows.Storage.Pickers.FileSavePicker::CreateForUser(Windows.System.User)
    def create_for_user(cls, user: windows_system.User, /) -> FileSavePicker: ...

@typing.final
class FileSavePicker(winrt.system.Object, metaclass=FileSavePicker_Static):
    def __new__(cls: typing.Type[Self]) -> Self: ...
    # System.Void Windows.Storage.Pickers.FileSavePicker::PickSaveFileAndContinue()
    # @deprecated("Instead, use PickSaveFileAsync")
    def pick_save_file_and_continue(self) -> None: ...
    # Windows.Foundation.IAsyncOperation`1<Windows.Storage.StorageFile> Windows.Storage.Pickers.FileSavePicker::PickSaveFileAsync()
    def pick_save_file_async(self) -> windows_foundation.IAsyncOperation[windows_storage.StorageFile]: ...
    # Windows.Storage.Pickers.PickerLocationId Windows.Storage.Pickers.FileSavePicker::get_SuggestedStartLocation()
    @_property
    def suggested_start_location(self) -> PickerLocationId: ...
    # System.Void Windows.Storage.Pickers.FileSavePicker::put_SuggestedStartLocation(Windows.Storage.Pickers.PickerLocationId)
    @suggested_start_location.setter
    def suggested_start_location(self, value: PickerLocationId) -> None: ...
    # Windows.Storage.StorageFile Windows.Storage.Pickers.FileSavePicker::get_SuggestedSaveFile()
    @_property
    def suggested_save_file(self) -> windows_storage.StorageFile: ...
    # System.Void Windows.Storage.Pickers.FileSavePicker::put_SuggestedSaveFile(Windows.Storage.StorageFile)
    @suggested_save_file.setter
    def suggested_save_file(self, value: windows_storage.StorageFile) -> None: ...
    # System.String Windows.Storage.Pickers.FileSavePicker::get_SuggestedFileName()
    @_property
    def suggested_file_name(self) -> str: ...
    # System.Void Windows.Storage.Pickers.FileSavePicker::put_SuggestedFileName(System.String)
    @suggested_file_name.setter
    def suggested_file_name(self, value: str) -> None: ...
    # System.String Windows.Storage.Pickers.FileSavePicker::get_SettingsIdentifier()
    @_property
    def settings_identifier(self) -> str: ...
    # System.Void Windows.Storage.Pickers.FileSavePicker::put_SettingsIdentifier(System.String)
    @settings_identifier.setter
    def settings_identifier(self, value: str) -> None: ...
    # System.String Windows.Storage.Pickers.FileSavePicker::get_DefaultFileExtension()
    @_property
    def default_file_extension(self) -> str: ...
    # System.Void Windows.Storage.Pickers.FileSavePicker::put_DefaultFileExtension(System.String)
    @default_file_extension.setter
    def default_file_extension(self, value: str) -> None: ...
    # System.String Windows.Storage.Pickers.FileSavePicker::get_CommitButtonText()
    @_property
    def commit_button_text(self) -> str: ...
    # System.Void Windows.Storage.Pickers.FileSavePicker::put_CommitButtonText(System.String)
    @commit_button_text.setter
    def commit_button_text(self, value: str) -> None: ...
    # Windows.Foundation.Collections.IMap`2<System.String,Windows.Foundation.Collections.IVector`1<System.String>> Windows.Storage.Pickers.FileSavePicker::get_FileTypeChoices()
    @_property
    def file_type_choices(self) -> typing.MutableMapping[str, typing.MutableSequence[str]]: ...
    # Windows.Foundation.Collections.ValueSet Windows.Storage.Pickers.FileSavePicker::get_ContinuationData()
    @_property
    def continuation_data(self) -> windows_foundation_collections.ValueSet: ...
    # System.String Windows.Storage.Pickers.FileSavePicker::get_EnterpriseId()
    @_property
    def enterprise_id(self) -> str: ...
    # System.Void Windows.Storage.Pickers.FileSavePicker::put_EnterpriseId(System.String)
    @enterprise_id.setter
    def enterprise_id(self, value: str) -> None: ...
    # Windows.System.User Windows.Storage.Pickers.FileSavePicker::get_User()
    @_property
    def user(self) -> windows_system.User: ...

@typing.final
class FolderPicker_Static(winrt._winrt.IInspectable_Static):
    # Windows.Storage.Pickers.FolderPicker Windows.Storage.Pickers.FolderPicker::CreateForUser(Windows.System.User)
    def create_for_user(cls, user: windows_system.User, /) -> FolderPicker: ...

@typing.final
class FolderPicker(winrt.system.Object, metaclass=FolderPicker_Static):
    def __new__(cls: typing.Type[Self]) -> Self: ...
    # System.Void Windows.Storage.Pickers.FolderPicker::PickFolderAndContinue()
    # @deprecated("Instead, use PickSingleFolderAsync")
    def pick_folder_and_continue(self) -> None: ...
    # Windows.Foundation.IAsyncOperation`1<Windows.Storage.StorageFolder> Windows.Storage.Pickers.FolderPicker::PickSingleFolderAsync()
    def pick_single_folder_async(self) -> windows_foundation.IAsyncOperation[windows_storage.StorageFolder]: ...
    # Windows.Storage.Pickers.PickerViewMode Windows.Storage.Pickers.FolderPicker::get_ViewMode()
    @_property
    def view_mode(self) -> PickerViewMode: ...
    # System.Void Windows.Storage.Pickers.FolderPicker::put_ViewMode(Windows.Storage.Pickers.PickerViewMode)
    @view_mode.setter
    def view_mode(self, value: PickerViewMode) -> None: ...
    # Windows.Storage.Pickers.PickerLocationId Windows.Storage.Pickers.FolderPicker::get_SuggestedStartLocation()
    @_property
    def suggested_start_location(self) -> PickerLocationId: ...
    # System.Void Windows.Storage.Pickers.FolderPicker::put_SuggestedStartLocation(Windows.Storage.Pickers.PickerLocationId)
    @suggested_start_location.setter
    def suggested_start_location(self, value: PickerLocationId) -> None: ...
    # System.String Windows.Storage.Pickers.FolderPicker::get_SettingsIdentifier()
    @_property
    def settings_identifier(self) -> str: ...
    # System.Void Windows.Storage.Pickers.FolderPicker::put_SettingsIdentifier(System.String)
    @settings_identifier.setter
    def settings_identifier(self, value: str) -> None: ...
    # System.String Windows.Storage.Pickers.FolderPicker::get_CommitButtonText()
    @_property
    def commit_button_text(self) -> str: ...
    # System.Void Windows.Storage.Pickers.FolderPicker::put_CommitButtonText(System.String)
    @commit_button_text.setter
    def commit_button_text(self, value: str) -> None: ...
    # Windows.Foundation.Collections.IVector`1<System.String> Windows.Storage.Pickers.FolderPicker::get_FileTypeFilter()
    @_property
    def file_type_filter(self) -> typing.MutableSequence[str]: ...
    # Windows.Foundation.Collections.ValueSet Windows.Storage.Pickers.FolderPicker::get_ContinuationData()
    @_property
    def continuation_data(self) -> windows_foundation_collections.ValueSet: ...
    # Windows.System.User Windows.Storage.Pickers.FolderPicker::get_User()
    @_property
    def user(self) -> windows_system.User: ...

