+ * Measurement options.
+ */
+interface MeasurementOptions {
+ /**
+ * Set measurement median.
+ */
+ median: boolean
+}
+
+/**
+ * Worker choice strategy options.
+ */
+export interface WorkerChoiceStrategyOptions {
+ /**
+ * Runtime options.
+ *
+ * @defaultValue \{ median: false \}
+ */
+ runTime?: MeasurementOptions
+ /**
+ * Wait time options.
+ *
+ * @defaultValue \{ median: false \}
+ */
+ waitTime?: MeasurementOptions
+ /**
+ * Event loop utilization options.
+ *
+ * @defaultValue \{ median: false \}
+ */
+ elu?: MeasurementOptions
+ /**
+ * Worker weights to use for weighted round robin worker selection strategy.
+ * Weight is the tasks maximum average or median runtime in milliseconds.
+ *
+ * @defaultValue Computed worker weights automatically given the CPU performance.
+ */
+ weights?: Record<number, number>
+}
+
+/**
+ * Measurement statistics requirements.
+ *
+ * @internal
+ */
+interface MeasurementStatisticsRequirements {
+ /**
+ * Require measurement aggregate.
+ */
+ aggregate: boolean
+ /**
+ * Require measurement average.
+ */
+ average: boolean
+ /**
+ * Require measurement median.
+ */
+ median: boolean
+}
+
+/**
+ * Pool worker node worker usage statistics requirements.