+export interface WorkerChoiceStrategyOptions {
+ /**
+ * Number of worker choice retries to perform if no worker is eligible.
+ *
+ * @defaultValue 6
+ */
+ readonly choiceRetries?: number
+ /**
+ * Measurement to use in worker choice strategy supporting it.
+ */
+ readonly measurement?: Measurement
+ /**
+ * Runtime options.
+ *
+ * @defaultValue \{ median: false \}
+ */
+ readonly runTime?: MeasurementOptions
+ /**
+ * Wait time options.
+ *
+ * @defaultValue \{ median: false \}
+ */
+ readonly waitTime?: MeasurementOptions
+ /**
+ * Event loop utilization options.
+ *
+ * @defaultValue \{ median: false \}
+ */
+ readonly 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.
+ */
+ readonly weights?: Record<number, number>
+}
+
+/**
+ * Measurement statistics requirements.
+ *
+ * @internal
+ */
+export interface MeasurementStatisticsRequirements {
+ /**
+ * Requires measurement aggregate.
+ */
+ aggregate: boolean
+ /**
+ * Requires measurement average.
+ */
+ average: boolean
+ /**
+ * Requires measurement median.
+ */
+ median: boolean
+}
+
+/**
+ * Pool worker node worker usage statistics requirements.
+ *
+ * @internal
+ */
+export interface TaskStatisticsRequirements {
+ /**
+ * Tasks runtime requirements.
+ */
+ readonly runTime: MeasurementStatisticsRequirements
+ /**
+ * Tasks wait time requirements.
+ */
+ readonly waitTime: MeasurementStatisticsRequirements
+ /**
+ * Tasks event loop utilization requirements.
+ */
+ readonly elu: MeasurementStatisticsRequirements
+}
+
+/**
+ * Strategy policy.
+ *
+ * @internal
+ */
+export interface StrategyPolicy {
+ /**
+ * Expects direct usage of the newly created dynamic worker.
+ */
+ readonly useDynamicWorker: boolean