#if NETFX

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

namespace IWshRuntimeLibrary
{
	// Token: 0x02000014 RID: 20
	[Guid("0AB5A3D0-E5B6-11D0-ABF5-00A0C90FFFC0")]
	[TypeLibType(4304)]
	[ComImport]
	internal interface IFileSystem
	{
		// Token: 0x1700002C RID: 44
		// (get) Token: 0x06000075 RID: 117
		[DispId(10010)]
		Drives Drives { [DispId(10010)] [MethodImpl(MethodImplOptions.InternalCall)] [return: MarshalAs(UnmanagedType.Interface)] get; }

		// Token: 0x06000076 RID: 118
		[DispId(10000)]
		[MethodImpl(MethodImplOptions.InternalCall)]
		[return: MarshalAs(UnmanagedType.BStr)]
		string BuildPath([MarshalAs(UnmanagedType.BStr)] [In] string Path, [MarshalAs(UnmanagedType.BStr)] [In] string Name);

		// Token: 0x06000077 RID: 119
		[DispId(10004)]
		[MethodImpl(MethodImplOptions.InternalCall)]
		[return: MarshalAs(UnmanagedType.BStr)]
		string GetDriveName([MarshalAs(UnmanagedType.BStr)] [In] string Path);

		// Token: 0x06000078 RID: 120
		[DispId(10005)]
		[MethodImpl(MethodImplOptions.InternalCall)]
		[return: MarshalAs(UnmanagedType.BStr)]
		string GetParentFolderName([MarshalAs(UnmanagedType.BStr)] [In] string Path);

		// Token: 0x06000079 RID: 121
		[DispId(10006)]
		[MethodImpl(MethodImplOptions.InternalCall)]
		[return: MarshalAs(UnmanagedType.BStr)]
		string GetFileName([MarshalAs(UnmanagedType.BStr)] [In] string Path);

		// Token: 0x0600007A RID: 122
		[DispId(10007)]
		[MethodImpl(MethodImplOptions.InternalCall)]
		[return: MarshalAs(UnmanagedType.BStr)]
		string GetBaseName([MarshalAs(UnmanagedType.BStr)] [In] string Path);

		// Token: 0x0600007B RID: 123
		[DispId(10008)]
		[MethodImpl(MethodImplOptions.InternalCall)]
		[return: MarshalAs(UnmanagedType.BStr)]
		string GetExtensionName([MarshalAs(UnmanagedType.BStr)] [In] string Path);

		// Token: 0x0600007C RID: 124
		[DispId(10002)]
		[MethodImpl(MethodImplOptions.InternalCall)]
		[return: MarshalAs(UnmanagedType.BStr)]
		string GetAbsolutePathName([MarshalAs(UnmanagedType.BStr)] [In] string Path);

		// Token: 0x0600007D RID: 125
		[DispId(10003)]
		[MethodImpl(MethodImplOptions.InternalCall)]
		[return: MarshalAs(UnmanagedType.BStr)]
		string GetTempName();

		// Token: 0x0600007E RID: 126
		[DispId(10015)]
		[MethodImpl(MethodImplOptions.InternalCall)]
		bool DriveExists([MarshalAs(UnmanagedType.BStr)] [In] string DriveSpec);

		// Token: 0x0600007F RID: 127
		[DispId(10016)]
		[MethodImpl(MethodImplOptions.InternalCall)]
		bool FileExists([MarshalAs(UnmanagedType.BStr)] [In] string FileSpec);

		// Token: 0x06000080 RID: 128
		[DispId(10017)]
		[MethodImpl(MethodImplOptions.InternalCall)]
		bool FolderExists([MarshalAs(UnmanagedType.BStr)] [In] string FolderSpec);

		// Token: 0x06000081 RID: 129
		[DispId(10011)]
		[MethodImpl(MethodImplOptions.InternalCall)]
		[return: MarshalAs(UnmanagedType.Interface)]
		Drive GetDrive([MarshalAs(UnmanagedType.BStr)] [In] string DriveSpec);

		// Token: 0x06000082 RID: 130
		[DispId(10012)]
		[MethodImpl(MethodImplOptions.InternalCall)]
		[return: MarshalAs(UnmanagedType.Interface)]
		File GetFile([MarshalAs(UnmanagedType.BStr)] [In] string FilePath);

		// Token: 0x06000083 RID: 131
		[DispId(10013)]
		[MethodImpl(MethodImplOptions.InternalCall)]
		[return: MarshalAs(UnmanagedType.Interface)]
		Folder GetFolder([MarshalAs(UnmanagedType.BStr)] [In] string FolderPath);

		// Token: 0x06000084 RID: 132
		[DispId(10014)]
		[MethodImpl(MethodImplOptions.InternalCall)]
		[return: MarshalAs(UnmanagedType.Interface)]
		Folder GetSpecialFolder([ComAliasName("IWshRuntimeLibrary.SpecialFolderConst")] [In] SpecialFolderConst SpecialFolder);

		// Token: 0x06000085 RID: 133
		[DispId(1200)]
		[MethodImpl(MethodImplOptions.InternalCall)]
		void DeleteFile([MarshalAs(UnmanagedType.BStr)] [In] string FileSpec, [In] bool Force = false);

		// Token: 0x06000086 RID: 134
		[DispId(1201)]
		[MethodImpl(MethodImplOptions.InternalCall)]
		void DeleteFolder([MarshalAs(UnmanagedType.BStr)] [In] string FolderSpec, [In] bool Force = false);

		// Token: 0x06000087 RID: 135
		[DispId(1204)]
		[MethodImpl(MethodImplOptions.InternalCall)]
		void MoveFile([MarshalAs(UnmanagedType.BStr)] [In] string Source, [MarshalAs(UnmanagedType.BStr)] [In] string Destination);

		// Token: 0x06000088 RID: 136
		[DispId(1205)]
		[MethodImpl(MethodImplOptions.InternalCall)]
		void MoveFolder([MarshalAs(UnmanagedType.BStr)] [In] string Source, [MarshalAs(UnmanagedType.BStr)] [In] string Destination);

		// Token: 0x06000089 RID: 137
		[DispId(1202)]
		[MethodImpl(MethodImplOptions.InternalCall)]
		void CopyFile([MarshalAs(UnmanagedType.BStr)] [In] string Source, [MarshalAs(UnmanagedType.BStr)] [In] string Destination, [In] bool OverWriteFiles = true);

		// Token: 0x0600008A RID: 138
		[DispId(1203)]
		[MethodImpl(MethodImplOptions.InternalCall)]
		void CopyFolder([MarshalAs(UnmanagedType.BStr)] [In] string Source, [MarshalAs(UnmanagedType.BStr)] [In] string Destination, [In] bool OverWriteFiles = true);

		// Token: 0x0600008B RID: 139
		[DispId(1120)]
		[MethodImpl(MethodImplOptions.InternalCall)]
		[return: MarshalAs(UnmanagedType.Interface)]
		Folder CreateFolder([MarshalAs(UnmanagedType.BStr)] [In] string Path);

		// Token: 0x0600008C RID: 140
		[DispId(1101)]
		[MethodImpl(MethodImplOptions.InternalCall)]
		[return: MarshalAs(UnmanagedType.Interface)]
		TextStream CreateTextFile([MarshalAs(UnmanagedType.BStr)] [In] string FileName, [In] bool Overwrite = true, [In] bool Unicode = false);

		// Token: 0x0600008D RID: 141
		[DispId(1100)]
		[MethodImpl(MethodImplOptions.InternalCall)]
		[return: MarshalAs(UnmanagedType.Interface)]
		TextStream OpenTextFile([MarshalAs(UnmanagedType.BStr)] [In] string FileName, [In] IOMode IOMode = IOMode.ForReading, [In] bool Create = false, [In] Tristate Format = Tristate.TristateFalse);
	}
}

#endif