import { IRequestLog } from '../../models/RequestLog.js';
import { IProjectExecutionLog } from '../../models/ProjectExecution.js';
/**
 * Base class for project execution reporters.
 */
export declare abstract class Reporter {
    info: IProjectExecutionLog;
    constructor(info: IProjectExecutionLog);
    /**
     * Generates the report for the current execution log.
     */
    abstract generate(): Promise<void>;
    /**
     * Checks whether the execution log should be considered a failure.
     * @param log The execution log.
     * @returns `true` when the request was a failure.
     */
    protected isFailedLog(log: IRequestLog): boolean;
    /**
     * Computes the number of requests that failed.
     */
    computeFailed(): number;
    /**
     * Computes the number of requests that ended with the status code 399 at the most.
     */
    computeSucceeded(): number;
    /**
     * Computes the total time of sending each request.
     */
    computeTotalTime(): number;
    /**
     * Computes the total size of received data.
     */
    computeTotalSize(): number;
}
//# sourceMappingURL=Reporter.d.ts.map