import DataRequestResult from "./dataRequestResult.js";
import { RequestOptions } from "./requestOptions.js";
import { ResponseParser } from "../parser/responseParser.js";
export interface TransformRequestFunction {
    (request: Request): Promise<Request>;
}
export declare class PiRestService {
    private readonly webserviceUrl;
    private transformRequest;
    constructor(webserviceUrl: string, transformRequestFn?: TransformRequestFunction);
    getDataWithParser<T>(url: string, requestOption: RequestOptions, parser: ResponseParser<T>): Promise<DataRequestResult<T>>;
    postDataWithParser<T>(url: string, requestOption: RequestOptions, parser: ResponseParser<T>, body: any, headers: HeadersInit): Promise<DataRequestResult<T>>;
    getData<T>(url: string): Promise<DataRequestResult<T>>;
    postData<T>(url: string, body: any, headers?: HeadersInit): Promise<DataRequestResult<T>>;
    private processResponse;
}
