using Hcs.Service.Async.OrgRegistryCommon;

namespace Hcs.Broker.Api
{
    // http://open-gkh.ru/OrganizationsRegistryCommonAsyncService/
    public interface IOrgRegistryCommonApi
    {
        /// <summary>
        /// Экспорт сведений о поставщиках информации ИС
        /// </summary>
        /// <param name="isActual">Выгрузить только активных поставщиков данных</param>
        /// <param name="token">Токен отмены</param>
        /// <returns>Сведения о поставщиках данных</returns>
        Task<IEnumerable<exportDataProviderResultType>> ExportDataProviderAsync(bool isActual, CancellationToken token = default);

        /// <summary>
        /// Экспорт сведений из реестра организаций
        /// </summary>
        /// <param name="ogrn">ОГРН</param>
        /// <param name="kpp">КПП</param>
        /// <param name="token">Токен отмены</param>
        /// <returns>Сведения из реестра организаций</returns>
        Task<IEnumerable<exportOrgRegistryResultType>> ExportOrgRegistryAsync(string ogrn, string kpp, CancellationToken token = default);
    }
}
