import { PerformanceScenario, PerformanceRunner, PhaseResult } from "../utils/performanceRunner.d.mts";
export type JestPerformanceScenario<TContext = Record<string, unknown>> = PerformanceScenario<TContext>;
export declare class JestPerformanceRunner<TContext = Record<string, unknown>> extends PerformanceRunner<TContext> {
    protected scenario: JestPerformanceScenario<TContext>;
    private readonly reporter;
    constructor(scenario: JestPerformanceScenario<TContext>);
    /** Disable the base-class text-table canvas; we render a proper bar chart instead. */
    protected shouldRenderCanvas(): boolean;
    /** Logs per-phase table to the jest-html-reporters attachment. */
    private reportPhaseToReporter;
    /**
     * After all phases finish: console-log the combined summary (base class),
     * then report the summary table and a bar chart with the reporter.
     */
    protected logSummary(results: PhaseResult<TContext>[]): Promise<void>;
    private buildTableDef;
    /**
     * Builds a Chart.js config: grouped bar columns (Wall/Avg/Min/Max ms)
     * with a red line overlay for failure counts on a secondary right axis.
     */
    private buildPhaseChart;
    /**
     * Registers Jest describe/it blocks for the scenario.
     * Creates one `it` per phase — its never fail, errors are only recorded
     * in aggregated results. Logs a per-phase console table and reports it
     * via TestReporter after each `it`; reports combined table + bar chart
     * in `afterAll`.
     *
     * @param hooks Optional lifecycle hooks:
     *   - `beforeAll`: runs after `scenario.initialize` but before any `it`.
     *     Use this to populate shared mutable state (e.g. metadata objects)
     *     that phase configs reference.
     */
    describeSuite(hooks?: {
        beforeAll?: () => Promise<void> | void;
    }): void;
}
