import { AbstractRestSession } from "./AbstractRestSession";
import { SessionContext } from "../connection";
import { AuthenticationProvider } from "../auth";
import { DocumentManager, RestWebServiceDocument } from "./documents";
import { AdministrationManager } from "./administration";
import { RestSession } from "./RestSession";
import { RestWebService, WebServiceType } from "../../webservice";
export declare class RestWebServiceSession extends AbstractRestSession<RestWebServiceDocument> implements RestSession<RestWebServiceDocument> {
    constructor(serverContext: SessionContext, authProvider: AuthenticationProvider);
    uploadDocument(data: Blob, fileName: string, options?: {
        onProgress?: (event: any) => void;
        abortSignal?: AbortSignal;
    }): Promise<RestWebServiceDocument>;
    protected createDocumentManager(): DocumentManager<RestWebServiceDocument>;
    protected createAdministrationManager(): AdministrationManager<RestWebServiceDocument>;
    createWebServiceInstance<T_WEBSERVICE extends RestWebService<any, any, any>>(webServiceType: WebServiceType): T_WEBSERVICE;
}
