import type { DataRequestResult } from './dataRequestResult.js';
import { RequestOptions } from './requestOptions.js';
import { ResponseParser } from '../parser/responseParser.js';
export type TransformRequestFunction = (request: Request) => Promise<Request>;
export declare class PiRestService {
    private readonly webserviceUrl;
    private readonly 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: BodyInit, headers: HeadersInit): Promise<DataRequestResult<T>>;
    getData<T>(url: string): Promise<DataRequestResult<T>>;
    postData<T>(url: string, body: BodyInit, headers?: HeadersInit): Promise<DataRequestResult<T>>;
    private processResponse;
}
