import Configuration from './Configuration';
export type FetchAPI = (url: string, init?: any) => Promise<Response>;
export declare function copyAndPrepareBody(value: any): any;
export declare class RestClient {
    private readonly GET;
    private readonly PATCH;
    private readonly POST;
    private readonly PUT;
    private readonly DELETE;
    private readonly apiKey;
    private readonly tenantOrgId?;
    private readonly baseUrl;
    private readonly fetch;
    private readonly logger;
    private readonly headers?;
    private readonly httpHandler;
    constructor(configuration: Configuration);
    private buildHttpHandler;
    patch<T>(url: string, urlParameterMap?: object, body?: object): Promise<T>;
    post<T>(url: string, urlParameterMap?: object, body?: object): Promise<T>;
    get<T>(url: string, urlParameterMap?: object, queryStringParameters?: object): Promise<T>;
    delete<T>(url: string, urlParameterMap?: object): Promise<T>;
    put<T>(url: string, urlParameterMap?: object, body?: object): Promise<T>;
    private request;
}
