import type { WriteStream } from 'node:tty'; import { type Envelope } from '@cucumber/messages'; import type { ProgressBarOptions } from './types.js'; /** * Prints test progress as an updating progress bar, with problems prepended above * * @remarks * Requires a TTY terminal. */ export declare class ProgressBarPrinter { private readonly stream; private readonly interceptor; private readonly options; private readonly query; private readonly printedProblems; private readonly pendingProblems; private phase; private finishedScenarios; private finishedSteps; private runningScenarios; private totalScenarios; private totalSteps; /** * Creates a new ProgressBarPrinter instance * * @param params - Initialisation object * @param params.stream - The stream being written to, used for feature detection * @param params.options - Options for the output */ constructor({ stream, options, }?: { stream?: WriteStream; options?: ProgressBarOptions; }); /** * Processes a Cucumber message envelope and prints if appropriate * * @param message - The Cucumber message envelope to process */ update(message: Envelope): void; private handleUndefinedParameterType; private handleTestRunStarted; private handleTestCase; private handleTestRunHookFinished; private handleTestCaseStarted; private handleTestStepFinished; private handleTestCaseFinished; private handleTestRunFinished; private rerender; private makeSummaryBlock; private makeProgressBlock; private makeBar; private makeStatus; private render; }