using System.Collections.Generic;
using System.IO;
namespace SabreTools.Matching
{
///
/// Get a version number from a file
///
/// File path to get the version from
/// Optional file contents as a byte array
/// List of positions in the array that were matched
/// Version string on success, null on failure
public delegate string? GetArrayVersion(string path, byte[]? content, List positions);
///
/// Get a version number from an input path
///
/// File or directory path to get the version from
/// Optional set of files in the directory
/// Version string on success, null on failure
public delegate string? GetPathVersion(string path, List? files);
///
/// Get a version number from a file
///
/// File path to get the version from
/// Optional file contents as a Stream
/// List of positions in the Stream that were matched
/// Version string on success, null on failure
public delegate string? GetStreamVersion(string path, Stream? content, List positions);
}