+ int MEGABYTE = 1048576;
+
+ /**
+ * Returns the minimum number of entries to be present in the in-memory Raft log for a snapshot to be taken.
+ *
+ * @return the minimum number of entries.
+ */
+ long getSnapshotBatchCount();
+
+ /**
+ * Returns the percentage of total memory used in the in-memory Raft log before a snapshot should be taken.
+ *
+ * @return the percentage.
+ */
+ int getSnapshotDataThresholdPercentage();
+
+ /**
+ * Returns the interval at which a heart beat message should be sent to remote followers.
+ *
+ * @return the interval as a FiniteDuration.
+ */
+ FiniteDuration getHeartBeatInterval();
+
+ /**
+ * Returns the interval after which a new election should be triggered if no leader is available.
+ *
+ * @return the interval as a FiniteDuration.
+ */
+ FiniteDuration getElectionTimeOutInterval();
+
+ /**
+ * Returns the maximum election time variance. The election is scheduled using both the election timeout
+ * and variance.
+ *
+ * @return the election time variance.
+ */
+ int getElectionTimeVariance();
+
+ /**
+ * Returns the maximum size (in bytes) for the snapshot chunk sent from a Leader.
+ *
+ * @return the maximum size (in bytes).
+ */
+ int getSnapshotChunkSize();
+
+ /**
+ * Returns the maximum number of journal log entries to batch on recovery before applying.
+ *
+ * @return the maximum number of journal log entries.
+ */
+ int getJournalRecoveryLogBatchSize();
+