namespace OF_DL.Services;

public interface IFileNameService
{
    /// <summary>
    /// Applies token values to a filename format and removes invalid characters.
    /// </summary>
    Task<string> BuildFilename(string fileFormat, Dictionary<string, string> values);

    /// <summary>
    /// Builds a map of filename token values from post, media, and author data.
    /// </summary>
    Task<Dictionary<string, string>> GetFilename(object info, object media, object author,
        List<string> selectedProperties,
        string username, Dictionary<string, long>? users = null);
}
