#if NETFX

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

namespace IWshRuntimeLibrary
{
	// Token: 0x02000040 RID: 64
	[Guid("387DAFF4-DA03-44D2-B0D1-80C927C905AC")]
	[DefaultMember("Item")]
	[ClassInterface(ClassInterfaceType.None)]
	[ComImport]
	internal class WshCollectionClass : IWshCollection, WshCollection, IEnumerable
	{
		// // Token: 0x060001B9 RID: 441
		// [MethodImpl(MethodImplOptions.InternalCall)]
		// internal extern WshCollectionClass();

		// Token: 0x060001BA RID: 442
		[DispId(0)]
		[MethodImpl(MethodImplOptions.InternalCall)]
		[return: MarshalAs(UnmanagedType.Struct)]
		public virtual extern object Item([MarshalAs(UnmanagedType.Struct)] [In] ref object Index);

		// Token: 0x060001BB RID: 443
		[DispId(1)]
		[MethodImpl(MethodImplOptions.InternalCall)]
		public virtual extern int Count();

		// Token: 0x170000B1 RID: 177
		// (get) Token: 0x060001BC RID: 444
		[DispId(2)]
		public virtual extern int length { [DispId(2)] [MethodImpl(MethodImplOptions.InternalCall)] get; }

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

#endif