import type { TestCaseResult, TestResult } from '@jest/reporters';
import type { IPCServer } from '../ipc';
import type { AssociateMetadata } from './AssociateMetadata';
import type { FallbackAPI } from './FallbackAPI';
export type ReporterServerConfig = {
    ipc: IPCServer;
    fallbackAPI: FallbackAPI;
    associate: AssociateMetadata;
    rootDir: string;
};
/**
 * @implements {import('@jest/reporters').Reporter}
 */
export declare class ReporterServer {
    #private;
    constructor(config: ReporterServerConfig);
    onRunStart(): Promise<void>;
    onTestFileStart(testPath: string): void;
    onTestCaseStart(testPath: string, testCaseStartInfo: unknown): void;
    onTestCaseResult(testPath: string, testCaseResult: TestCaseResult): void;
    onTestFileResult(testPath: string, testResult: TestResult): void;
    onRunComplete(): Promise<void>;
}
