from __future__ import annotations
from win32more._prelude import *
import win32more.Microsoft.Windows.System
import win32more.Windows.Foundation.Collections
class _EnvironmentManager_Meta_(ComPtr.__class__):
    pass
class EnvironmentManager(ComPtr, metaclass=_EnvironmentManager_Meta_):
    extends: IInspectable
    default_interface: win32more.Microsoft.Windows.System.IEnvironmentManager
    _classid_ = 'Microsoft.Windows.System.EnvironmentManager'
    @winrt_mixinmethod
    def GetEnvironmentVariables(self: win32more.Microsoft.Windows.System.IEnvironmentManager) -> win32more.Windows.Foundation.Collections.IMapView[hstr, hstr]: ...
    @winrt_mixinmethod
    def GetEnvironmentVariable(self: win32more.Microsoft.Windows.System.IEnvironmentManager, name: hstr) -> hstr: ...
    @winrt_mixinmethod
    def SetEnvironmentVariable(self: win32more.Microsoft.Windows.System.IEnvironmentManager, name: hstr, value: hstr) -> Void: ...
    @winrt_mixinmethod
    def AppendToPath(self: win32more.Microsoft.Windows.System.IEnvironmentManager, path: hstr) -> Void: ...
    @winrt_mixinmethod
    def RemoveFromPath(self: win32more.Microsoft.Windows.System.IEnvironmentManager, path: hstr) -> Void: ...
    @winrt_mixinmethod
    def AddExecutableFileExtension(self: win32more.Microsoft.Windows.System.IEnvironmentManager, pathExt: hstr) -> Void: ...
    @winrt_mixinmethod
    def RemoveExecutableFileExtension(self: win32more.Microsoft.Windows.System.IEnvironmentManager, pathExt: hstr) -> Void: ...
    @winrt_mixinmethod
    def get_AreChangesTracked(self: win32more.Microsoft.Windows.System.IEnvironmentManager2) -> Boolean: ...
    @winrt_classmethod
    def GetForProcess(cls: win32more.Microsoft.Windows.System.IEnvironmentManagerStatics) -> win32more.Microsoft.Windows.System.EnvironmentManager: ...
    @winrt_classmethod
    def GetForUser(cls: win32more.Microsoft.Windows.System.IEnvironmentManagerStatics) -> win32more.Microsoft.Windows.System.EnvironmentManager: ...
    @winrt_classmethod
    def GetForMachine(cls: win32more.Microsoft.Windows.System.IEnvironmentManagerStatics) -> win32more.Microsoft.Windows.System.EnvironmentManager: ...
    @winrt_classmethod
    def get_IsSupported(cls: win32more.Microsoft.Windows.System.IEnvironmentManagerStatics) -> Boolean: ...
    AreChangesTracked = property(get_AreChangesTracked, None)
    _EnvironmentManager_Meta_.IsSupported = property(get_IsSupported, None)
EnvironmentManagerContract: UInt32 = 131072
class IEnvironmentManager(ComPtr):
    extends: IInspectable
    _classid_ = 'Microsoft.Windows.System.IEnvironmentManager'
    _iid_ = Guid('{d1b239bb-7013-5176-b02a-63477410d986}')
    @winrt_commethod(6)
    def GetEnvironmentVariables(self) -> win32more.Windows.Foundation.Collections.IMapView[hstr, hstr]: ...
    @winrt_commethod(7)
    def GetEnvironmentVariable(self, name: hstr) -> hstr: ...
    @winrt_commethod(8)
    def SetEnvironmentVariable(self, name: hstr, value: hstr) -> Void: ...
    @winrt_commethod(9)
    def AppendToPath(self, path: hstr) -> Void: ...
    @winrt_commethod(10)
    def RemoveFromPath(self, path: hstr) -> Void: ...
    @winrt_commethod(11)
    def AddExecutableFileExtension(self, pathExt: hstr) -> Void: ...
    @winrt_commethod(12)
    def RemoveExecutableFileExtension(self, pathExt: hstr) -> Void: ...
class IEnvironmentManager2(ComPtr):
    extends: IInspectable
    _classid_ = 'Microsoft.Windows.System.IEnvironmentManager2'
    _iid_ = Guid('{cfc0ad51-02b7-57ff-8ca7-e015251737cb}')
    @winrt_commethod(6)
    def get_AreChangesTracked(self) -> Boolean: ...
    AreChangesTracked = property(get_AreChangesTracked, None)
class IEnvironmentManagerStatics(ComPtr):
    extends: IInspectable
    _classid_ = 'Microsoft.Windows.System.IEnvironmentManagerStatics'
    _iid_ = Guid('{407b1522-6156-5398-93fd-d6411c35e7b1}')
    @winrt_commethod(6)
    def GetForProcess(self) -> win32more.Microsoft.Windows.System.EnvironmentManager: ...
    @winrt_commethod(7)
    def GetForUser(self) -> win32more.Microsoft.Windows.System.EnvironmentManager: ...
    @winrt_commethod(8)
    def GetForMachine(self) -> win32more.Microsoft.Windows.System.EnvironmentManager: ...
    @winrt_commethod(9)
    def get_IsSupported(self) -> Boolean: ...
    IsSupported = property(get_IsSupported, None)


make_ready(__name__)
