using Predictalytics.Domain.Enums;
using Predictalytics.Domain.Interfaces;

namespace Predictalytics.Application.Interfaces;

public interface IDiscoveryService
{
    /// <summary>Run discovery to find new/notable traders on a platform.</summary>
    Task<IReadOnlyList<DiscoveredTrader>> RunDiscoveryAsync(PlatformType platform, CancellationToken ct = default);

    /// <summary>Import a discovered trader into the tracking system.</summary>
    Task<int> ImportTraderAsync(PlatformType platform, string platformUserId, string displayName, bool isAutoDiscovered = true, CancellationToken ct = default);
}
