class StreamConsumerRegistrar {

	@VisibleForTesting
	void deregistrationBackoff(
			final FanOutRecordPublisherConfiguration configuration,
			final FullJitterBackoff backoff,
			int attempt) throws InterruptedException {
		long backoffMillis = backoff.calculateFullJitterBackoff(
			configuration.getDeregisterStreamBaseBackoffMillis(),
			configuration.getDeregisterStreamMaxBackoffMillis(),
			configuration.getDeregisterStreamExpConstant(),
			attempt);

		backoff.sleep(backoffMillis);
	}

	public  StreamConsumerRegistrar(
			final KinesisProxyV2Interface kinesisProxyV2Interface,
			final FanOutRecordPublisherConfiguration configuration,
			final FullJitterBackoff backoff);

}