#if NETFX

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

namespace IWshRuntimeLibrary
{
	// Token: 0x02000044 RID: 68
	[ClassInterface(ClassInterfaceType.None)]
	[Guid("F48229AF-E28C-42B5-BB92-E114E62BDD54")]
	[ComImport]
	internal class WshEnvironmentClass : IWshEnvironment, WshEnvironment, IEnumerable
	{
		// // Token: 0x060001C3 RID: 451
		// [MethodImpl(MethodImplOptions.InternalCall)]
		// internal extern WshEnvironmentClass();

		// Token: 0x170000B3 RID: 179
		[DispId(0)]
		public virtual extern 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: 0x060001C6 RID: 454
		[DispId(1)]
		[MethodImpl(MethodImplOptions.InternalCall)]
		public virtual extern int Count();

		// Token: 0x170000B4 RID: 180
		// (get) Token: 0x060001C7 RID: 455
		[DispId(2)]
		public virtual extern int length { [DispId(2)] [MethodImpl(MethodImplOptions.InternalCall)] get; }

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

		// Token: 0x060001C9 RID: 457
		[DispId(1001)]
		[MethodImpl(MethodImplOptions.InternalCall)]
		public virtual extern void Remove([MarshalAs(UnmanagedType.BStr)] [In] string Name);
	}
}

#endif