import { IResult } from '../reporter/result';
import { IStep } from '../reporter/step';
/**
 * A summary of all steps in a Gherkin Scenario as reported by the Cucumber Test Report.
 * Summarises all steps into a single aggregated summary
 */
export declare class ScenarioSummary {
    /** The total number of steps that have passed for this Scenario */
    passed: number;
    /** The total number of steps that have failed for this Scenario */
    failed: number;
    /** The total number of steps that are not implemented (and thus marked as undefined) */
    undefined: number;
    /** The number of step that are not fully implemented and only return pending */
    pending: number;
    /** The nuber of steps that are ambiguous, preventing the Cucumber Test runner from running the step */
    ambiguous: number;
    /** The total number of steps that were skipped */
    skipped: number;
    steps: IStep[];
    totalDuration: number;
    scenarioName: string;
    scenarioDescription: string;
    scenarioKeyword: string;
    /** All tags on the scenario as a comma separated list */
    tags: string;
    /** All steps in the scenario */
    get total(): number;
    /** Whether the Scenario has at least one ambiguously defined step definition */
    get hasAmbiguous(): boolean;
    /** Whether the Scenario has at least one failed step */
    get hasFailed(): boolean;
    /** Whether the Scenario has at least one undefined step */
    get hasUndefined(): boolean;
    /** Whether the Scenario has at least one pending step */
    get hasPending(): boolean;
    /** Whether the Scenario has passed due to all steps passing */
    get isPassed(): boolean;
    get hasNoSteps(): boolean;
    /**
     * Updates the summary based on the raw cucumber report step status.
     * Performs the base level summarisation of the report at the lowest leaf
     * of the report tree (the Step)
     * @param result The Step result from the raw Cucumber report
     * @param hidden Some steps are hidden eg BeforeAll steps. We don't count them in the totals, except for duration
     */
    aggregateStep(result: IResult, hidden?: boolean): void;
}
