| /** | 
|  * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. | 
|  * | 
|  * This source code is licensed under the MIT license found in the | 
|  * LICENSE file in the root directory of this source tree. | 
|  */ | 
| /// <reference types="node" /> | 
| import type { FarmOptions, PoolExitResult } from './types'; | 
| /** | 
|  * The Jest farm (publicly called "Worker") is a class that allows you to queue | 
|  * methods across multiple child processes, in order to parallelize work. This | 
|  * is done by providing an absolute path to a module that will be loaded on each | 
|  * of the child processes, and bridged to the main process. | 
|  * | 
|  * Bridged methods are specified by using the "exposedMethods" property of the | 
|  * "options" object. This is an array of strings, where each of them corresponds | 
|  * to the exported name in the loaded module. | 
|  * | 
|  * You can also control the amount of workers by using the "numWorkers" property | 
|  * of the "options" object, and the settings passed to fork the process through | 
|  * the "forkOptions" property. The amount of workers defaults to the amount of | 
|  * CPUS minus one. | 
|  * | 
|  * Queueing calls can be done in two ways: | 
|  *   - Standard method: calls will be redirected to the first available worker, | 
|  *     so they will get executed as soon as they can. | 
|  * | 
|  *   - Sticky method: if a "computeWorkerKey" method is provided within the | 
|  *     config, the resulting string of this method will be used as a key. | 
|  *     Every time this key is returned, it is guaranteed that your job will be | 
|  *     processed by the same worker. This is specially useful if your workers | 
|  *     are caching results. | 
|  */ | 
| export default class JestWorker { | 
|     private _ending; | 
|     private _farm; | 
|     private _options; | 
|     private _workerPool; | 
|     constructor(workerPath: string, options?: FarmOptions); | 
|     private _bindExposedWorkerMethods; | 
|     private _callFunctionWithArgs; | 
|     getStderr(): NodeJS.ReadableStream; | 
|     getStdout(): NodeJS.ReadableStream; | 
|     end(): Promise<PoolExitResult>; | 
| } |