namespace Cleanuparr.Domain.Enums;
///
/// A capability a download client service may implement, mirrored by one of the
/// I*Capable interfaces under Infrastructure/Features/DownloadClient.
///
public enum DownloadClientCapability
{
///
/// Can report whether an *arr queue item should be removed. Backs IQueueCheckCapable.
///
QueueCheck,
///
/// Can block unwanted files from completing. Backs IFileBlockingCapable.
///
FileBlocking,
///
/// Can report the on-disk paths its downloads claim. Backs IOrphanClaimsCapable.
///
OrphanClaims,
///
/// Downloads seed, so seeding rules apply. Backs ISeedingCleanupCapable.
///
SeedingCleanup,
///
/// Files can be checked for hardlinks, so unlinked downloads can be moved. Backs IUnlinkedCapable.
///
Unlinked,
///
/// Seeding rules can filter by tag/label. Backs ITagFilterable on the client's seeding rule type.
///
TagFiltering,
///
/// Seeding rules can filter by minimum seeders. Backs ISeedersFilterable on the client's seeding rule type.
///
SeedersFiltering,
///
/// Reports a seeder count, so dead-torrent detection applies. Backs IDeadTorrentCapable.
///
DeadTorrent,
///
/// Reports an error state and can resume a download. Backs IErrorRecoveryCapable.
///
ErrorRecovery,
}