using OrpaonVision.Core.Results;
using OrpaonVision.Core.Training.Contracts;
namespace OrpaonVision.Core.Training;
///
/// 规则校验服务接口。
///
public interface IRuleValidationService
{
///
/// 校验规则快照包。
///
/// 包路径。
/// 取消令牌。
/// 校验结果。
Task> ValidateRuleSnapshotPackageAsync(
string packagePath,
CancellationToken cancellationToken = default);
///
/// 校验层顺序。
///
/// 层顺序数据。
/// 期望的层顺序。
/// 取消令牌。
/// 校验结果。
Task> ValidateLayerOrderAsync(
string[] layerOrderData,
string[] expectedOrder,
CancellationToken cancellationToken = default);
///
/// 校验部件编码唯一性。
///
/// 部件编码列表。
/// 取消令牌。
/// 校验结果。
Task> ValidatePartCodeUniquenessAsync(
string[] partCodes,
CancellationToken cancellationToken = default);
///
/// 校验Schema合法性。
///
/// Schema文件路径列表。
/// 取消令牌。
/// 校验结果。
Task> ValidateSchemaAsync(
string[] schemaFiles,
CancellationToken cancellationToken = default);
}