import type { Circus } from '@jest/types';
import type { MetadataEventEmitter } from '../metadata';
export type CircusTestEventHandlerConfig = {
    readonly emitter: MetadataEventEmitter;
};
export declare class EnvironmentEventHandler {
    private _instanceCache;
    private _testFilePath;
    private readonly _emitter;
    private readonly _circusEventHandlers;
    constructor(config: CircusTestEventHandlerConfig);
    get testFilePath(): string;
    /**
     * Since this class is instantiated only once per the whole test session
     * in the global realm (parent or child), we need to reset its instance cache
     * and update the test file path when a new test file is started.
     * @param testFilePath
     */
    handleEnvironmentCreated(testFilePath: string): void;
    handleTestEvent: (event: Circus.Event, state: Circus.State) => void;
}
