#if NETFX

using System;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;

namespace IWshRuntimeLibrary
{
	// Token: 0x02000034 RID: 52
	[ClassInterface(ClassInterfaceType.None)]
	[Guid("72C24DD5-D70A-438B-8A42-98424B88AFB8")]
	[TypeLibType(2)]
	[ComImport]
	internal class WshShellClass : IWshShell3, WshShell
	{
		// // Token: 0x06000155 RID: 341
		// [MethodImpl(MethodImplOptions.InternalCall)]
		// public extern WshShellClass();

		// Token: 0x1700008D RID: 141
		// (get) Token: 0x06000156 RID: 342
		[DispId(100)]
		public virtual extern IWshCollection SpecialFolders { [DispId(100)] [MethodImpl(MethodImplOptions.InternalCall)] [return: MarshalAs(UnmanagedType.Interface)] get; }

		// Token: 0x1700008E RID: 142
		// (get) Token: 0x06000157 RID: 343
		[DispId(200)]
		public virtual extern IWshEnvironment Environment { [DispId(200)] [MethodImpl(MethodImplOptions.InternalCall)] [return: MarshalAs(UnmanagedType.Interface)] get; }

		// Token: 0x06000158 RID: 344
		[DispId(1000)]
		[MethodImpl(MethodImplOptions.InternalCall)]
		public virtual extern int Run([MarshalAs(UnmanagedType.BStr)] [In] string Command, [MarshalAs(UnmanagedType.Struct)] [In] ref object WindowStyle, [MarshalAs(UnmanagedType.Struct)] [In] ref object WaitOnReturn);

		// Token: 0x06000159 RID: 345
		[DispId(1001)]
		[MethodImpl(MethodImplOptions.InternalCall)]
		public virtual extern int Popup([MarshalAs(UnmanagedType.BStr)] [In] string Text, [MarshalAs(UnmanagedType.Struct)] [In] ref object SecondsToWait, [MarshalAs(UnmanagedType.Struct)] [In] ref object Title, [MarshalAs(UnmanagedType.Struct)] [In] ref object Type);

		// Token: 0x0600015A RID: 346
		[DispId(1002)]
		[MethodImpl(MethodImplOptions.InternalCall)]
		[return: MarshalAs(UnmanagedType.IDispatch)]
		public virtual extern object CreateShortcut([MarshalAs(UnmanagedType.BStr)] [In] string PathLink);

		// Token: 0x0600015B RID: 347
		[DispId(1006)]
		[MethodImpl(MethodImplOptions.InternalCall)]
		[return: MarshalAs(UnmanagedType.BStr)]
		public virtual extern string ExpandEnvironmentStrings([MarshalAs(UnmanagedType.BStr)] [In] string Src);

		// Token: 0x0600015C RID: 348
		[DispId(2000)]
		[MethodImpl(MethodImplOptions.InternalCall)]
		[return: MarshalAs(UnmanagedType.Struct)]
		public virtual extern object RegRead([MarshalAs(UnmanagedType.BStr)] [In] string Name);

		// Token: 0x0600015D RID: 349
		[DispId(2001)]
		[MethodImpl(MethodImplOptions.InternalCall)]
		public virtual extern void RegWrite([MarshalAs(UnmanagedType.BStr)] [In] string Name, [MarshalAs(UnmanagedType.Struct)] [In] ref object Value, [MarshalAs(UnmanagedType.Struct)] [In] ref object Type);

		// Token: 0x0600015E RID: 350
		[DispId(2002)]
		[MethodImpl(MethodImplOptions.InternalCall)]
		public virtual extern void RegDelete([MarshalAs(UnmanagedType.BStr)] [In] string Name);

		// Token: 0x0600015F RID: 351
		[DispId(3000)]
		[MethodImpl(MethodImplOptions.InternalCall)]
		public virtual extern bool LogEvent([MarshalAs(UnmanagedType.Struct)] [In] ref object Type, [MarshalAs(UnmanagedType.BStr)] [In] string Message, [MarshalAs(UnmanagedType.BStr)] [In] string Target = "");

		// Token: 0x06000160 RID: 352
		[DispId(3010)]
		[MethodImpl(MethodImplOptions.InternalCall)]
		public virtual extern bool AppActivate([MarshalAs(UnmanagedType.Struct)] [In] ref object App, [MarshalAs(UnmanagedType.Struct)] [In] ref object Wait);

		// Token: 0x06000161 RID: 353
		[DispId(3011)]
		[MethodImpl(MethodImplOptions.InternalCall)]
		public virtual extern void SendKeys([MarshalAs(UnmanagedType.BStr)] [In] string Keys, [MarshalAs(UnmanagedType.Struct)] [In] ref object Wait);

		// Token: 0x06000162 RID: 354
		[DispId(3012)]
		[MethodImpl(MethodImplOptions.InternalCall)]
		[return: MarshalAs(UnmanagedType.Interface)]
		public virtual extern WshExec Exec([MarshalAs(UnmanagedType.BStr)] [In] string Command);

		// Token: 0x1700008F RID: 143
		// (get) Token: 0x06000163 RID: 355
		// (set) Token: 0x06000164 RID: 356
		[DispId(3013)]
		public virtual extern string CurrentDirectory { [DispId(3013)] [MethodImpl(MethodImplOptions.InternalCall)] [return: MarshalAs(UnmanagedType.BStr)] get; [DispId(3013)] [MethodImpl(MethodImplOptions.InternalCall)] [param: MarshalAs(UnmanagedType.BStr)] set; }
	}
}

#endif