/** * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ import {AggregatedResult} from '@jest/test-result'; import {BaseReporter} from '@jest/reporters'; import type {ChangedFiles} from 'jest-changed-files'; import type {Config} from '@jest/types'; import {Reporter} from '@jest/reporters'; import {ReporterContext} from '@jest/reporters'; import {Test} from '@jest/test-result'; import type {TestContext} from '@jest/test-result'; import type {TestRunnerContext} from 'jest-runner'; import type {TestWatcher} from 'jest-watcher'; export declare function createTestScheduler( globalConfig: Config.GlobalConfig, context: TestSchedulerContext, ): Promise; declare type Filter = (testPaths: Array) => Promise<{ filtered: Array; }>; declare type FilterResult = { test: string; message: string; }; export declare function getVersion(): string; declare type ReporterConstructor = new ( globalConfig: Config.GlobalConfig, reporterConfig: Record, reporterContext: ReporterContext, ) => BaseReporter; export declare function runCLI( argv: Config.Argv, projects: Array, ): Promise<{ results: AggregatedResult; globalConfig: Config.GlobalConfig; }>; declare type SearchResult = { noSCM?: boolean; stats?: Stats; collectCoverageFrom?: Set; tests: Array; total?: number; }; export declare class SearchSource { private readonly _context; private _dependencyResolver; private readonly _testPathCases; constructor(context: TestContext); private _getOrBuildDependencyResolver; private _filterTestPathsWithStats; private _getAllTestPaths; isTestFilePath(path: string): boolean; findMatchingTests(testPathPattern: string): SearchResult; findRelatedTests( allPaths: Set, collectCoverage: boolean, ): Promise; findTestsByPaths(paths: Array): SearchResult; findRelatedTestsFromPattern( paths: Array, collectCoverage: boolean, ): Promise; findTestRelatedToChangedFiles( changedFilesInfo: ChangedFiles, collectCoverage: boolean, ): Promise; private _getTestPaths; filterPathsWin32(paths: Array): Array; getTestPaths( globalConfig: Config.GlobalConfig, changedFiles?: ChangedFiles, filter?: Filter, ): Promise; findRelatedSourcesFromTestsInChangedFiles( changedFilesInfo: ChangedFiles, ): Promise>; } declare type Stats = { roots: number; testMatch: number; testPathIgnorePatterns: number; testRegex: number; testPathPattern?: number; }; declare class TestScheduler { private readonly _context; private readonly _dispatcher; private readonly _globalConfig; constructor(globalConfig: Config.GlobalConfig, context: TestSchedulerContext); addReporter(reporter: Reporter): void; removeReporter(reporterConstructor: ReporterConstructor): void; scheduleTests( tests: Array, watcher: TestWatcher, ): Promise; private _partitionTests; _setupReporters(): Promise; private _addCustomReporter; private _bailIfNeeded; } declare type TestSchedulerContext = ReporterContext & TestRunnerContext; export {};