"use strict";
/**
 * This file was auto-generated by Fern from our API Definition.
 */
Object.defineProperty(exports, "__esModule", { value: true });
exports.Filestorage = void 0;
const Client_1 = require("../resources/accountDetails/client/Client");
const Client_2 = require("../resources/accountToken/client/Client");
const Client_3 = require("../resources/asyncPassthrough/client/Client");
const Client_4 = require("../resources/auditTrail/client/Client");
const Client_5 = require("../resources/availableActions/client/Client");
const Client_6 = require("../resources/deleteAccount/client/Client");
const Client_7 = require("../resources/drives/client/Client");
const Client_8 = require("../resources/files/client/Client");
const Client_9 = require("../resources/folders/client/Client");
const Client_10 = require("../resources/generateKey/client/Client");
const Client_11 = require("../resources/groups/client/Client");
const Client_12 = require("../resources/issues/client/Client");
const Client_13 = require("../resources/linkToken/client/Client");
const Client_14 = require("../resources/linkedAccounts/client/Client");
const Client_15 = require("../resources/passthrough/client/Client");
const Client_16 = require("../resources/regenerateKey/client/Client");
const Client_17 = require("../resources/selectiveSync/client/Client");
const Client_18 = require("../resources/syncStatus/client/Client");
const Client_19 = require("../resources/forceResync/client/Client");
const Client_20 = require("../resources/users/client/Client");
const Client_21 = require("../resources/webhookReceivers/client/Client");
class Filestorage {
    constructor(_options) {
        this._options = _options;
    }
    get accountDetails() {
        var _a;
        return ((_a = this._accountDetails) !== null && _a !== void 0 ? _a : (this._accountDetails = new Client_1.AccountDetails(this._options)));
    }
    get accountToken() {
        var _a;
        return ((_a = this._accountToken) !== null && _a !== void 0 ? _a : (this._accountToken = new Client_2.AccountToken(this._options)));
    }
    get asyncPassthrough() {
        var _a;
        return ((_a = this._asyncPassthrough) !== null && _a !== void 0 ? _a : (this._asyncPassthrough = new Client_3.AsyncPassthrough(this._options)));
    }
    get auditTrail() {
        var _a;
        return ((_a = this._auditTrail) !== null && _a !== void 0 ? _a : (this._auditTrail = new Client_4.AuditTrail(this._options)));
    }
    get availableActions() {
        var _a;
        return ((_a = this._availableActions) !== null && _a !== void 0 ? _a : (this._availableActions = new Client_5.AvailableActions(this._options)));
    }
    get deleteAccount() {
        var _a;
        return ((_a = this._deleteAccount) !== null && _a !== void 0 ? _a : (this._deleteAccount = new Client_6.DeleteAccount(this._options)));
    }
    get drives() {
        var _a;
        return ((_a = this._drives) !== null && _a !== void 0 ? _a : (this._drives = new Client_7.Drives(this._options)));
    }
    get files() {
        var _a;
        return ((_a = this._files) !== null && _a !== void 0 ? _a : (this._files = new Client_8.Files(this._options)));
    }
    get folders() {
        var _a;
        return ((_a = this._folders) !== null && _a !== void 0 ? _a : (this._folders = new Client_9.Folders(this._options)));
    }
    get generateKey() {
        var _a;
        return ((_a = this._generateKey) !== null && _a !== void 0 ? _a : (this._generateKey = new Client_10.GenerateKey(this._options)));
    }
    get groups() {
        var _a;
        return ((_a = this._groups) !== null && _a !== void 0 ? _a : (this._groups = new Client_11.Groups(this._options)));
    }
    get issues() {
        var _a;
        return ((_a = this._issues) !== null && _a !== void 0 ? _a : (this._issues = new Client_12.Issues(this._options)));
    }
    get linkToken() {
        var _a;
        return ((_a = this._linkToken) !== null && _a !== void 0 ? _a : (this._linkToken = new Client_13.LinkToken(this._options)));
    }
    get linkedAccounts() {
        var _a;
        return ((_a = this._linkedAccounts) !== null && _a !== void 0 ? _a : (this._linkedAccounts = new Client_14.LinkedAccounts(this._options)));
    }
    get passthrough() {
        var _a;
        return ((_a = this._passthrough) !== null && _a !== void 0 ? _a : (this._passthrough = new Client_15.Passthrough(this._options)));
    }
    get regenerateKey() {
        var _a;
        return ((_a = this._regenerateKey) !== null && _a !== void 0 ? _a : (this._regenerateKey = new Client_16.RegenerateKey(this._options)));
    }
    get selectiveSync() {
        var _a;
        return ((_a = this._selectiveSync) !== null && _a !== void 0 ? _a : (this._selectiveSync = new Client_17.SelectiveSync(this._options)));
    }
    get syncStatus() {
        var _a;
        return ((_a = this._syncStatus) !== null && _a !== void 0 ? _a : (this._syncStatus = new Client_18.SyncStatus(this._options)));
    }
    get forceResync() {
        var _a;
        return ((_a = this._forceResync) !== null && _a !== void 0 ? _a : (this._forceResync = new Client_19.ForceResync(this._options)));
    }
    get users() {
        var _a;
        return ((_a = this._users) !== null && _a !== void 0 ? _a : (this._users = new Client_20.Users(this._options)));
    }
    get webhookReceivers() {
        var _a;
        return ((_a = this._webhookReceivers) !== null && _a !== void 0 ? _a : (this._webhookReceivers = new Client_21.WebhookReceivers(this._options)));
    }
}
exports.Filestorage = Filestorage;
