using System.Collections.ObjectModel;
using Valg.EVA.Skanning.Contracts.CommonEnums;
using Valg.EVA.Skanning.ServicesModel.Internal.SystemSettings;

namespace Valg.EVA.Skanning.Services.SystemSettings
{
    public interface ISystemSettingsService
    {
        int GetStampFillPercentageMinimum();
        int GetBallotIdLength();
        int GetBallotNumberLength();
        int GetBarcodeLongLength();
        int GetBarcodeShortLength();
        string GetOsloDistrictList();
        int GetDataRefreshInterval();
        int GetBarcodeShortBoroughLength();
        AdditionalElectionConfiguration GetAdditionalElectionConfiguration(string electionEventId, string electionId, string electionGroupId, string contestId);
        int GetTransferStatusCheckTimeoutInterval();
        ReadOnlyCollection<BallotPaperLayoutDescription> GetBallotPaperLayoutDescriptions();
        BallotPaperLayoutDescription GetBallotPaperLayoutDescription(BallotPaperType ballotPaperType);
    }
}
