import { type Envelope } from '@cucumber/messages'; import { Query } from '@cucumber/query'; import type { SummaryOptions } from './types.js'; /** * Prints a summary of test results including non-passing scenarios, statistics, and snippets * * @remarks * Outputs non-passing scenarios and hooks, scenario and step counts, durations, and suggested * snippets for undefined steps. */ export declare class SummaryPrinter { private readonly stream; private readonly print; private readonly println; private readonly options; private query; /** * Creates a new SummaryPrinter 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?: NodeJS.WritableStream; options?: SummaryOptions; }); /** * Processes a Cucumber message envelope and prints if appropriate * * @param envelope - The Cucumber message envelope to process */ update(envelope: Envelope): void; /** * Immediately print a summary from pre-populated Query object * * @param query - A pre-populated Query object to be summarised * @param params - See constructor */ static summarise(query: Query, { stream, options, }?: { stream?: NodeJS.WritableStream; options?: SummaryOptions; }): void; private printSummary; private printStats; private printNonPassingScenarios; private resolveNonPassingScenarios; private printUnknownParameterTypes; private printNonPassingGlobalHooks; private printNonPassingTestRun; private printSnippets; }