module Selenium
  module WebDriver
    module Error
      def self.for_error: (String? error) -> Class?

      SUPPORT_MSG: String

      ERROR_URL: String

      URLS: Hash[Symbol, String]

      class WebDriverError < StandardError
        def initialize: (?String | Array[String] msg) -> void

        def class_name: -> Symbol?
      end

      class NoSuchElementError < WebDriverError
      end

      class NoSuchFrameError < WebDriverError
      end

      class UnknownCommandError < WebDriverError
      end

      class StaleElementReferenceError < WebDriverError
      end

      class DetachedShadowRootError < WebDriverError
      end

      class InvalidElementStateError < WebDriverError
      end

      class UnknownError < WebDriverError
      end

      class JavascriptError < WebDriverError
      end

      class TimeoutError < WebDriverError
      end

      class NoSuchWindowError < WebDriverError
      end

      class NoSuchShadowRootError < WebDriverError
      end

      class InvalidCookieDomainError < WebDriverError
      end

      class UnableToSetCookieError < WebDriverError
      end

      class NoSuchAlertError < WebDriverError
      end

      class ScriptTimeoutError < WebDriverError
      end

      class InvalidSelectorError < WebDriverError
      end

      class SessionNotCreatedError < WebDriverError
      end

      class MoveTargetOutOfBoundsError < WebDriverError
      end

      class ElementNotInteractableError < WebDriverError
      end

      class InsecureCertificateError < WebDriverError
      end

      class InvalidArgumentError < WebDriverError
      end

      class NoSuchCookieError < WebDriverError
      end

      class UnableToCaptureScreenError < WebDriverError
      end

      class InvalidSessionIdError < WebDriverError
      end

      class UnexpectedAlertOpenError < WebDriverError
      end

      class UnknownMethodError < WebDriverError
      end

      class ElementClickInterceptedError < WebDriverError
      end

      class UnsupportedOperationError < WebDriverError
      end

      class NoSuchDriverError < WebDriverError
      end
    end
  end
end
