import { AbstractWebService } from "../AbstractWebService";
import { RestDocument, RestSession } from "../../session";
import { WebServiceType } from "../WebServiceType";
import { Billing, Parameter, PdfPassword, Settings } from "../../generated-sources";
export declare abstract class RestWebService<T_OPERATION_DATA extends Parameter, T_OPERATION_PARAMETER, T_REST_DOCUMENT extends RestDocument> extends AbstractWebService<RestSession<T_REST_DOCUMENT>, T_OPERATION_DATA, T_OPERATION_PARAMETER, T_REST_DOCUMENT, Billing, PdfPassword, Settings> {
    constructor(session: RestSession<T_REST_DOCUMENT>, webServiceType: WebServiceType);
    process(sourceDocument?: T_REST_DOCUMENT): Promise<T_REST_DOCUMENT | undefined>;
    protected getWebServiceOptions(): Body;
}
