using Hcs.Broker.Api.Request;
using Hcs.Service.Async.NsiCommon;
namespace Hcs.Broker.Api
{
// http://open-gkh.ru/NsiCommonService/
public interface INsiCommonApi
{
///
/// Возвращает данные общесистемного справочника
///
/// Реестровый номер справочника
/// Группа справочников, где NSI - общесистемный, а NSIRAO - ОЖФ
/// Токен отмены
/// Данные общесистемного справочника
Task ExportNsiItemAsync(int registryNumber, ListGroup listGroup, CancellationToken token = default);
///
/// Возвращает перечень общесистемных справочников с указанием даты последнего изменения каждого из них
///
/// Группа справочников, где NSI - общесистемный, а NSIRAO - ОЖФ
/// Токен отмены
/// Перечень общесистемных справочников
Task ExportNsiListAsync(ListGroup listGroup, CancellationToken token = default);
///
/// Запрашивает экспорт данных общесистемного справочника
///
/// Реестровый номер справочника
/// Группа справочников, где NSI - общесистемный, а NSIRAO - ОЖФ
/// Токен отмены
/// Идентификатор сообщения операции экспорта
Task RequestExportNsiItemAsync(int registryNumber, ListGroup listGroup, CancellationToken token = default);
///
/// Возвращает результат экспорта данных общесистемного справочника
///
/// Идентификатор сообщения операции экспорта
/// Результат запроса
Task> GetExportNsiItemResultAsync(string messageGuid);
}
}