import { LaraJoinPoint } from "../../../LaraJoinPoint.js";
import Pass from "../Pass.js";
import PassTransformationError from "../PassTransformationError.js";
import PassResult from "./PassResult.js";
export default class AggregatePassResult extends PassResult {
    /**
     * Intermediate results collected from the pass
     *
     */
    private _intermediateResults;
    /**
     * Errors thrown where the pass transformation failed
     *
     */
    private _transformationErrors;
    private _casesApplied;
    /**
     * @param pass - Pass which generated this result
     * @param $jp - Join point related to this pass result
     */
    constructor(pass: Pass, $jp: LaraJoinPoint);
    /**
     * @returns True if the pass was applied successfully at least once
     */
    get appliedPass(): boolean;
    /**
     * @returns Total number of cases where this pass applied, independently of its success
     */
    get casesFound(): number;
    /**
     * @returns Number of cases where this pass was successfully applied
     */
    get casesApplied(): number;
    /**
     * @returns Number of cases that resulted in an error
     */
    get casesFailed(): number;
    /**
     * @returns List of results registered during the pass
     */
    get results(): Readonly<PassResult>[];
    /**
     * @returns List of errors registered during the pass
     */
    get errors(): Readonly<PassTransformationError>[];
    /**
     * Register a new error
     *
     */
    pushError(error: PassTransformationError): void;
    /**
     * Register a new partial result
     * @param result - PassResult from applying a predicate to a joinpoint
     */
    pushResult(result: PassResult): void;
    toString(): string;
}
//# sourceMappingURL=AggregatePassResult.d.ts.map