/**
* @classdesc
* Provides the APIs for managing users in CompleteFTP. Instances of this class should be obtained using
* {@link Config#users|Config.users}.
* @class
* @hideconstructor
*/
UserManager = function () {
/**
* Adds a new user of the given type. The user's properties will be initialized with default values
* including an auto-generated user-name.
*
* Note that, before changes can be applied, each user must at a minimum have a unique user-name,
* a password and a home folder, so the added user should have these properties set before it
* can login (see {@link User} class).
*
* @method
* @param {String} [type=Non-Windows] Type of the user which must be either 'Windows' or 'Non-Windows' (case-insensitive).
* @return {User} A {@link User} object for the added user.
*/
this.add = function (type) { }
/**
* Deletes the given user.
*
* @method
* @param {String} userName Name of the user to be deleted.
*/
this.remove = function (userName) { }
/**
* Returns a {@link User} object for the given user-name.
*
* @method
* @param {String} userName Name of the user.
* @return {User}
*/
this.get = function (userName) { }
/**
* Returns an array of {@link User} objects representing all users in CompleteFTP including inbuilt ones.
*
* @method
* @return {User[]}
*/
this.toArray = function () { }
}