using StreamShorts.Library.Analysis;
namespace StreamShorts.Library.Media.Video;
///
/// Represents a service that creates video shorts.
///
public interface IShortsCreator
{
///
/// Creates a video short from the specified source video file based on the provided candidate details.
///
/// The path to the source video file.
/// The details of the short candidate.
/// The path where the created short will be saved.
/// An optional buffer time to include before and after the short segment.
/// A task that represents the asynchronous operation.
/// Thrown when or is null or whitespace.
/// Thrown when is null.
public Task CreateShortAsync(string sourcePath, ShortCandidate candidate, string destinationPath, TimeSpan? buffer = null);
}