namespace Umbraco.Cms.Core.IO;
///
/// Represents a media file path scheme.
///
public interface IMediaPathScheme
{
///
/// Gets a media file path.
///
/// The media filesystem.
/// The (content, media) item unique identifier.
/// The property type unique identifier.
/// The file name.
/// The filesystem-relative complete file path.
string GetFilePath(MediaFileManager fileManager, Guid itemGuid, Guid propertyGuid, string filename);
///
/// Gets the directory that can be deleted when the file is deleted.
///
/// The media filesystem.
/// The filesystem-relative path of the file.
/// The filesystem-relative path of the directory.
///
/// The directory, and anything below it, will be deleted.
/// Can return null (or empty) when no directory should be deleted.
///
string? GetDeleteDirectory(MediaFileManager fileSystem, string filepath);
}