using System;
using System.Collections.Generic;
using System.Text.Json.Serialization;
namespace FinlyticCore.Dtos.TechnicalAnalysis;
///
/// Output result of an isolated pattern detection evaluation.
///
public record PatternResultDto(
[property: JsonPropertyName("id")] Guid Id,
[property: JsonPropertyName("type")] PatternType Type,
[property: JsonPropertyName("category")] PatternCategory Category,
[property: JsonPropertyName("bias")] PatternBias Bias,
[property: JsonPropertyName("name")] string Name,
[property: JsonPropertyName("timeframe")] string Timeframe,
[property: JsonPropertyName("detectedAt")] DateTime DetectedAt,
[property: JsonPropertyName("keyPriceLevel")] decimal KeyPriceLevel,
[property: JsonPropertyName("upperBoundary")] decimal UpperBoundary,
[property: JsonPropertyName("lowerBoundary")] decimal LowerBoundary,
[property: JsonPropertyName("invalidationLevel")] decimal InvalidationLevel,
[property: JsonPropertyName("qualityScore")] decimal QualityScore,
[property: JsonPropertyName("description")] string Description,
[property: JsonPropertyName("extraData")] Dictionary? ExtraData = null
);