"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.WebServices = void 0;
var restWebservice;
var realtimeWebservice;
var storageWebservice;
var WebServices = (function () {
    function WebServices(rest, realtime, storage) {
        restWebservice = rest;
        realtimeWebservice = realtime;
        storageWebservice = storage;
    }
    WebServices.prototype.storage = function (prefix) {
        if (prefix === void 0) { prefix = '/'; }
        return {
            fileV1Api: storageWebservice.getFileStorageV1(prefix),
            fileApi: storageWebservice.getFileFromStorage(prefix),
            fileV2Api: storageWebservice.getFileFromStorageV2(prefix),
            fileThumbnailApi: storageWebservice.geThumbnailFromStorage(prefix),
            fileThumbnailV2Api: storageWebservice.geThumbnailFromStorageV2(prefix),
            fileListApi: storageWebservice.getFilesFromStorage(prefix),
            fileListV2Api: storageWebservice.getFilesFromStorageV2(prefix),
            fileUploadApi: storageWebservice.uploadMultiPartFile(prefix),
            fileUploadV2Api: storageWebservice.uploadMultiPartFileV2(prefix),
            getUploadFileV2: storageWebservice.getUploadFileV2(prefix),
        };
    };
    WebServices.prototype.realtime = function (config, prefix) {
        if (prefix === void 0) { prefix = '/'; }
        return {
            changes: realtimeWebservice.changesV2(config, prefix)
        };
    };
    WebServices.prototype.rest = function (prefix) {
        if (prefix === void 0) { prefix = '/'; }
        return {
            rules: restWebservice.rulesV2(prefix),
            jwk: restWebservice.authJwk(),
        };
    };
    return WebServices;
}());
exports.WebServices = WebServices;
