import { FlowRequestDataEnum, FlowResponseDataEnum, FlowSourceEnum } from '../../HttpFlows.js';
import { HttpStep, IHttpStep } from '../../HttpStep.js';
export declare const ReadDataSourceStepKind = "HttpAction#ReadDataSource";
/**
 * A step similar to `ReadDataStep` but it does not search for a value by the path
 * but returns the whole part of the request / response data (like status code,
 * status message, response headers, response body, request body, etc)
 */
export interface IReadDataSourceStep extends IHttpStep {
    /**
     * The source of the data.
     */
    source?: FlowSourceEnum;
    /**
     * The data to read.
     */
    data?: FlowRequestDataEnum | FlowResponseDataEnum;
}
/**
 * A step similar to `ReadDataStep` but it does not search for a value by the path
 * but returns the whole part of the request / response data (like status code,
 * status message, response headers, response body, request body, etc)
 */
export declare class ReadDataSourceStep extends HttpStep {
    kind: string;
    /**
     * The source of the data.
     */
    source?: FlowSourceEnum;
    /**
     * The data to read.
     */
    data?: FlowRequestDataEnum | FlowResponseDataEnum;
    /**
     * Creates the step from values.
     * @param source The main data source.
     * @param path The path to the data.
     * @param data Source of the data in the `source`. This is optional for non-http-request source.
     */
    constructor(source: FlowSourceEnum, data: FlowRequestDataEnum | FlowResponseDataEnum);
    /**
     * Creates the step from serialized schema.
     * @param init The serialized step values.
     */
    constructor(init: IReadDataSourceStep);
    /**
     * Creates an empty step.
     */
    constructor();
    new(init: IReadDataSourceStep): void;
    checkValidity(): boolean;
    toJSON(): IReadDataSourceStep;
}
//# sourceMappingURL=ReadDataSourceStep.d.ts.map