import { ISentRequest } from '../../models/SentRequest.js';
import { IResponse } from '../../models/Response.js';
import { IErrorResponse } from '../../models/ErrorResponse.js';
import { AssertionResult, IHttpAssertion } from '../../models/http-flows/HttpAssertion.js';
import { IHttpStep } from '../../models/http-flows/HttpStep.js';
import { IReadDataSourceStep } from '../../models/http-flows/steps/data/ReadDataSourceStep.js';
import { IReadValueStep } from '../../models/http-flows/steps/data/ReadValueStep.js';
import { HttpFlows } from './HttpFlows.js';
/**
 * A class that perform assertions that have been defined on an HTTP request.
 */
export declare class HttpAssertionRunner extends HttpFlows {
    report: AssertionResult[];
    /**
     *
     * @param request The request object sent to the server
     * @param response The generated response
     * @param assertions The list of assertions to perform.
     */
    run(request: ISentRequest, response: IResponse | IErrorResponse, assertions: IHttpAssertion[]): Promise<AssertionResult[]>;
    protected runAssertion(request: ISentRequest, response: IResponse | IErrorResponse, assertion: IHttpAssertion): Promise<void>;
    protected createDescription(steps: IHttpStep[]): string;
    protected getDataSourceStepLabel(step: IReadDataSourceStep): string;
    protected getValueStepLabel(step: IReadValueStep): string;
}
//# sourceMappingURL=HttpAssertionRunner.d.ts.map