import { AxiosRequestConfig } from 'axios';
import type { Expectation, IExpectationSchemaForward } from '../../../expectations';
import type { HttpRequestContext } from './context';
import { Executor, IRequestContextOutgoing, IRequestContextIncoming, IExecutorExecOptions } from '../../models';
export declare class HttpExecutor extends Executor<HttpRequestContext> {
    exec(context: HttpRequestContext, options?: IExecutorExecOptions): Promise<HttpRequestContext>;
    match(context: HttpRequestContext): Promise<Expectation<any> | null>;
    forward(context: HttpRequestContext, incoming: IRequestContextIncoming, configuration: IExpectationSchemaForward): Promise<{
        incoming: IRequestContextIncoming;
        outgoing: {
            type: import("../..").TRequestPayloadType;
            status: number;
            headers: import("axios").AxiosResponseHeaders;
            data: object | undefined;
            dataRaw: Buffer<ArrayBufferLike>;
        };
    }>;
    reply(context: HttpRequestContext, outgoing: IRequestContextOutgoing): Promise<IRequestContextOutgoing>;
    /** Compiles Axios request configuration to forward */
    protected compileForwardingConfiguration(context: HttpRequestContext, incoming: IRequestContextIncoming, configuration: IExpectationSchemaForward): Promise<AxiosRequestConfig>;
}
//# sourceMappingURL=executor.d.ts.map