# frozen_string_literal: true

# Released under the MIT License.
# Copyright, 2021-2025, by Samuel Williams.

require_relative "monitor/native"

# @namespace
module Build
	# @namespace
	module Files
		# @namespace
		module Monitor
			# Create a new monitor instance.
			# 
			# This factory method creates a monitor that uses platform-specific native filesystem event APIs (FSEvent on macOS, INotify on Linux, etc.) via the `io-watch` gem for efficient, event-driven file monitoring.
			# 
			# @returns [Native] A new native monitor instance.
			def self.new(*arguments, **options)
				Native.new(*arguments, **options)
			end
		end
	end
end
