namespace StabilityMatrix.Core.Models.FileInterfaces; public interface IPathObject { /// Full path of the file system object. string FullPath { 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); }