/// <reference types="node" />
/// <reference types="node" />
/// <reference types="node" />
/// <reference types="node" />
import http = require("http");
import { Readable } from 'stream';
import request = require('request');
import { Configuration } from "../internal/configuration";
import { RequestInterface } from './model';
import { Encryptor } from '../api';
/**
 * BatchPartRequest class
 */
export declare class BatchPartRequest {
    private innerRequest;
    /**
     *  Request ID
     */
    id: string;
    /**
     *  Parentn Request Id
     */
    parentId: string;
    constructor(requestObj: RequestInterface);
    /**
     * set parent request
     * @param parentRequest
     */
    dependsOn(parentRequest: BatchPartRequest): void;
    /**
     * create the requst options for this request
     * @param configuration a configuration for the request
     * @param data encryptor
     */
    createRequestOptions(configuration: Configuration, encryptor: Encryptor): Promise<request.OptionsWithUri>;
    /**
     * create response from string
     */
    createResponse(_response: Buffer, _headers: http.IncomingHttpHeaders): any;
    /**
     * get original request
     */
    getOriginalRequest(): RequestInterface;
    /**
     * create resultOf stream
     */
    useAsSource(): Readable;
}
