using NT8.Core.Common.Models;

namespace NT8.Core.Sizing
{
    /// <summary>
    /// Position sizing interface - determines contract quantity
    /// </summary>
    public interface IPositionSizer
    {
        /// <summary>
        /// Calculate position size for trading intent
        /// </summary>
        SizingResult CalculateSize(StrategyIntent intent, StrategyContext context, SizingConfig config);

        /// <summary>
        /// Get sizing method metadata
        /// </summary>
        SizingMetadata GetMetadata();
    }
}