# frozen_string_literal: true

module Stoplight
  interface _Configuration
    def notifiers: -> Array[state_transition_notifier]

    def cool_off_time=: (duration) -> void
    def threshold=: (percentage | Integer) -> void
    def recovery_threshold=: (Integer) -> void
    def window_size=: (duration?) -> void
    def tracked_errors=: (Array[_ExceptionMatcher] | _ExceptionMatcher) -> void
    def skipped_errors=: (Array[_ExceptionMatcher] | _ExceptionMatcher) -> void
    def traffic_control=: (traffic_control) -> void
    def traffic_recovery=: (traffic_recovery) -> void
    def error_notifier=: (error_notifier) -> void
    def data_store=: (data_store) -> void
    def notifiers=:(Array[state_transition_notifier]) -> void
  end
end
