import { Promise } from 'q';
import { Result } from './result';
export declare class RequestWrapper<T = Result> {
    private readonly args;
    private readonly httpHeaders;
    private apiCall;
    private readonly envArg;
    constructor(args: any, apiCall: any, envArg: any);
    private static validateIdParam;
    headers(headers: any): this;
    setIdempotencyKey(idempotencyKey: string): this;
    param(custom_param: {
        [key: string]: number | string | boolean | Array<number> | Array<string>;
    }): this;
    request(callBack?: any, envOptions?: any): Promise<T>;
}
