using aeqw89.DataKeys;
using Beam.Abstractions;
namespace Beam.Dynamic {
///
///
/// A collection of specific useful methods and constants that facilitate the use of the application; allows other parts of the application to depend on architecture-specific arbitrary choices without compromising the Single-Responsibility principle or increasing redundant code.
///
///
public partial interface IArchitecture {
/////
///// Gets the metadata associated with a
/////
///// The web client to use when downloading s
///// The key of the stored in the
///// The to be used to retrieve information
///// Optional logger for logging debug information
///// A object with the required information to perform the download
//public DownloadContext? GetMeta(HtmlWeb web, DataKey pieceKey, BeamDataDictionary sdd, CancellationToken ct = default, ILogger? logger = null);
/////
///// Gets the of the text record associated with
/////
///// The web client to use when downloading s
///// The key of the stored in the
///// The to be used to retrieve information
///// Optional book metadata to include with the final text record
///// Optional logger for logging debug information
///// A object with the required information to perform the download
//public DownloadContext? GetTextRecord(HtmlWeb web, DataKey pieceKey, BeamDataDictionary sdd, IDocumentMetaData? metadata = null, CancellationToken ct = default, ILogger? logger = null);
///
/// The to use when looking for the chapter metadata
///
public DataKey ChapterKey { get; set; }
///
/// The to use when looking for the book metadata
///
public DataKey BookKey { get; set; }
///
/// The default architecture
///
public static IArchitecture Default => new MainArchitecture();
}
}