namespace KArtSell.Modules.ModelOperations.ShadowRun.Services;

public interface IOpenDartDataService
{
    /// <summary>
    /// Fetch financial disclosures for a corporation within date range.
    /// </summary>
    Task<IReadOnlyList<DisclosureItem>> GetDisclosuresAsync(
        string corpCode,
        DateOnly startDate,
        DateOnly endDate,
        CancellationToken cancellationToken);

    /// <summary>
    /// Fetch quarterly financial data for a corporation.
    /// </summary>
    Task<IReadOnlyList<FinancialDataItem>> GetQuarterlyFinancialsAsync(
        string corpCode,
        int year,
        CancellationToken cancellationToken);
}
