namespace StabilityMatrix.Core.Models.FileInterfaces;
public interface IPathObject
{
/// Full path of the file system object.
string FullPath { get; }
/// Info of the file system object.
FileSystemInfo Info { get; }
/// Name of the file system object.
string Name { get; }
/// Whether the file system object is a symbolic link or junction.
bool IsSymbolicLink { get; }
/// Gets the size of the file system object.
long GetSize();
/// Gets the size of the file system object asynchronously.
Task GetSizeAsync() => Task.Run(GetSize);
/// Whether the file system object exists.
bool Exists { get; }
/// Deletes the file system object
void Delete();
/// Deletes the file system object asynchronously.
public Task DeleteAsync() => Task.Run(Delete);
}