package ru.yandex.dispenser.validation.providers;

import ru.yandex.dispenser.validation.client.CampaignType;
import ru.yandex.dispenser.validation.client.Environment;
import ru.yandex.dispenser.validation.client.Result;
import ru.yandex.dispenser.validation.client.model.CreateQuotaRequest;
import ru.yandex.dispenser.validation.client.model.QuotaRequest;

/**
 * Provider validator.
 *
 * @author Dmitriy Timashov <dm-tim@yandex-team.ru>
 */
public interface ProviderValidator {

    CreateQuotaRequest prepareTestRequest(Environment environment, CampaignType campaignType);

    Result<String> validateTestRequest(QuotaRequest request, Environment environment, CampaignType campaignType);

    String providerName();

}
