#if NETFX

using System;
using System.Collections;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Runtime.InteropServices.CustomMarshalers;

namespace IWshRuntimeLibrary
{
	// Token: 0x02000005 RID: 5
	[TypeLibType(4160)]
	[Guid("F935DC29-1CF0-11D0-ADB9-00C04FD58A0B")]
	[ComImport]
	internal interface IWshEnvironment : IEnumerable
	{
		// Token: 0x17000008 RID: 8
		[DispId(0)]
		string this[[MarshalAs(UnmanagedType.BStr)] [In] string Name]
		{
			[DispId(0)]
			[MethodImpl(MethodImplOptions.InternalCall)]
			[return: MarshalAs(UnmanagedType.BStr)]
			get;
			[DispId(0)]
			[MethodImpl(MethodImplOptions.InternalCall)]
			[param: MarshalAs(UnmanagedType.BStr)]
			set;
		}

		// Token: 0x0600001D RID: 29
		[DispId(1)]
		[MethodImpl(MethodImplOptions.InternalCall)]
		int Count();

		// Token: 0x17000009 RID: 9
		// (get) Token: 0x0600001E RID: 30
		[DispId(2)]
		int length { [DispId(2)] [MethodImpl(MethodImplOptions.InternalCall)] get; }

		// Token: 0x0600001F RID: 31
		[DispId(-4)]
		[MethodImpl(MethodImplOptions.InternalCall)]
		[return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(EnumeratorToEnumVariantMarshaler))]
		IEnumerator GetEnumerator();

		// Token: 0x06000020 RID: 32
		[DispId(1001)]
		[MethodImpl(MethodImplOptions.InternalCall)]
		void Remove([MarshalAs(UnmanagedType.BStr)] [In] string Name);
	}
}

#endif