import { IHttpRequest } from '../../models/HttpRequest.js';
import { ISentRequest } from '../../models/SentRequest.js';
import { IResponse } from '../../models/Response.js';
import { IErrorResponse } from '../../models/ErrorResponse.js';
import { IHttpAction, IHttpFlow } from '../../models/http-flows/HttpFlows.js';
import { IHttpStep } from '../../models/http-flows/HttpStep.js';
import { HttpFlows } from './HttpFlows.js';
export type FlowValue = string | number | boolean | null | undefined | unknown;
export declare class HttpFlowRunner extends HttpFlows {
    /**
     * Runs flows before the HTTP request is sent to the remote machine.
     * The request has to be pre-processed, that is, variables should already be applied to it.
     */
    request(request: IHttpRequest, flows?: IHttpFlow[]): Promise<void>;
    response(request: IHttpRequest | ISentRequest, response: IResponse | IErrorResponse, flows?: IHttpFlow[]): Promise<void>;
    protected runFlows(request: IHttpRequest | ISentRequest, flows: IHttpFlow[], response?: IResponse | IErrorResponse): Promise<void>;
    runAction(action: IHttpAction, request: IHttpRequest | ISentRequest, response?: IResponse | IErrorResponse): Promise<void>;
    checkCondition(request: IHttpRequest | ISentRequest, condition?: IHttpAction, response?: IResponse | IErrorResponse): Promise<boolean>;
    protected runSteps(steps: IHttpStep[], request: IHttpRequest | ISentRequest, response?: IResponse | IErrorResponse): Promise<void>;
}
//# sourceMappingURL=HttpFlowRunner.d.ts.map