"use strict";
'use strict';
/*
class Colors {
    public themes;
    public styles;
    public enabled;

    constructor(themes, styles, enabled) {
        this.themes = themes;
        this.styles = styles;
        this.enabled = enabled;
    }
}
// */
/*
{
    rainbow: { host: 'openrainbow.net', mode: 'xmpp' },
    xmpp: {
      host: '',
      port: '443',
      protocol: 'wss',
      timeBetweenXmppRequests: '0',
      raiseLowLevelXmppInEvent: false,
      raiseLowLevelXmppOutReq: false,
      maxIdleTimer: 16000,
      maxPingAnswerTimer: 11000,
      maxPendingAsyncLockXmppQueue: 10000
    },
    s2s: {
      hostCallback: undefined,
      locallistenningport: 4000,
      expressEngine: undefined
    },
    rest: {
      useRestAtStartup: true,
      useGotLibForHttp: false,
      gotOptions: [Object]
    },
    credentials: {
      login: 'vincent00@vbe.test.openrainbow.net',
      password: 'Password_123',
      apikey: ''
    },
    application: {
      appID: '68fcf4208b5111e883e2ab434dc8e4c5',
      appSecret: 'iYBx4aZ9LbqUpK6UFwRIEttpxPZcHqpqKz9nkDjt5q1rQqA5Rn4Lzc3EOmnhleEN'
    },
    proxy: {
      host: undefined,
      port: 8080,
      protocol: undefined,
      user: undefined,
      password: undefined,
      secureProtocol: undefined
    },
    logs: {
      enableConsoleLogs: true,
      enableFileLogs: true,
      enableEventsLogs: false,
      enableEncryptedLogs: false,
      color: true,
      level: 'debug',
      customLabel: 'vincent00@vbe.test.openrainbow.net',
      'system-dev': [Object],
      filter: '',
      areas: [LogLevelAreas],
      file: [Object]
    },
    testOutdatedVersion: true,
    testDNSentry: true,
    httpoverxmppserver: true,
    intervalBetweenCleanMemoryCache: 21600000,
    requestsRate: {
      useRequestRateLimiter: true,
      maxReqByIntervalForRequestRate: 1250,
      intervalForRequestRate: 60,
      timeoutRequestForRequestRate: 600
    },
    autoReconnectIgnoreErrors: false,
    im: {
      sendReadReceipt: true,
      sendMessageToConnectedUser: false,
      conversationsRetrievedFormat: 'full',
      storeMessages: false,
      copyMessage: true,
      nbMaxConversations: 15,
      rateLimitPerHour: 100000,
      messagesDataStore: 'storetwinside',
      autoInitialGetBubbles: true,
      autoInitialBubblePresence: true,
      maxBubbleJoinInProgress: 10,
      autoInitialBubbleFormat: 'full',
      autoInitialBubbleUnsubscribed: true,
      autoLoadConversations: true,
      autoLoadConversationHistory: false,
      autoLoadContacts: true,
      autoInitialLoadContactsInfoBulk: 'true',
      autoLoadCallLog: false,
      enableCarbon: true,
      enablesendurgentpushmessages: true,
      storeMessagesInConversation: true,
      maxMessagesStoredInConversation: 830
    },
    servicesToStart: {
      bubbles: [Object],
      telephony: [Object],
      channels: [Object],
      admin: [Object],
      fileServer: [Object],
      fileStorage: [Object],
      calllog: [Object],
      favorites: [Object],
      alerts: [Object],
      webrtc: [Object]
    }
  }
  // */
'use strict';
Object.defineProperty(exports, "__esModule", { value: true });
exports.ImOptions = exports.LogsOptions = exports.ProxyOptions = exports.Application = exports.Credentials = exports.RestOptions = exports.S2SOptions = exports.XmppOptions = exports.RainbowOptions = void 0;
class RainbowOptions {
    constructor(host, mode) {
        this.host = host;
        this.mode = mode;
    }
}
exports.RainbowOptions = RainbowOptions;
class XmppOptions {
    constructor(host, port, protocol, timeBetweenXmppRequests, raiseLowLevelXmppInEvent, raiseLowLevelXmppOutReq, maxIdleTimer, maxPingAnswerTimer, maxPendingAsyncLockXmppQueue) {
        this.host = host;
        this.port = port;
        this.protocol = protocol;
        this.timeBetweenXmppRequests = timeBetweenXmppRequests;
        this.raiseLowLevelXmppInEvent = raiseLowLevelXmppInEvent;
        this.raiseLowLevelXmppOutReq = raiseLowLevelXmppOutReq;
        this.maxIdleTimer = maxIdleTimer;
        this.maxPingAnswerTimer = maxPingAnswerTimer;
        this.maxPendingAsyncLockXmppQueue = maxPendingAsyncLockXmppQueue;
    }
}
exports.XmppOptions = XmppOptions;
class S2SOptions {
    constructor(locallistenningport) {
        this.locallistenningport = locallistenningport;
    }
}
exports.S2SOptions = S2SOptions;
class RestOptions {
    constructor(useRestAtStartup, useGotLibForHttp, gotOptions) {
        this.useRestAtStartup = useRestAtStartup;
        this.useGotLibForHttp = useGotLibForHttp;
        this.gotOptions = gotOptions;
    }
}
exports.RestOptions = RestOptions;
class Credentials {
    constructor(login, password, apikey) {
        this.login = login;
        this.password = password;
        this.apikey = apikey;
    }
}
exports.Credentials = Credentials;
class Application {
    constructor(appID, appSecret) {
        this.appID = appID;
        this.appSecret = appSecret;
    }
}
exports.Application = Application;
class ProxyOptions {
    constructor(port) {
        this.port = port;
    }
}
exports.ProxyOptions = ProxyOptions;
class LogsOptions {
    constructor(enableConsoleLogs, enableFileLogs, enableEventsLogs, enableEncryptedLogs, color, level, customLabel, systemDev, areas) {
        this.enableConsoleLogs = enableConsoleLogs;
        this.enableFileLogs = enableFileLogs;
        this.enableEventsLogs = enableEventsLogs;
        this.enableEncryptedLogs = enableEncryptedLogs;
        this.color = color;
        this.level = level;
        this.customLabel = customLabel;
        this.systemDev = systemDev;
        this.areas = areas;
    }
}
exports.LogsOptions = LogsOptions;
class ImOptions {
    constructor(sendReadReceipt, sendMessageToConnectedUser, conversationsRetrievedFormat, storeMessages, copyMessage, nbMaxConversations, rateLimitPerHour, messagesDataStore, autoInitialGetBubbles, autoInitialBubblePresence, maxBubbleJoinInProgress, autoInitialBubbleFormat, autoInitialBubbleUnsubscribed, autoLoadConversations, autoLoadConversationHistory, autoLoadContacts, autoInitialLoadContactsInfoBulk, autoLoadCallLog, enableCarbon, enablesendurgentpushmessages, storeMessagesInConversation, maxMessagesStoredInConversation) {
        this.sendReadReceipt = sendReadReceipt;
        this.sendMessageToConnectedUser = sendMessageToConnectedUser;
        this.conversationsRetrievedFormat = conversationsRetrievedFormat;
        this.storeMessages = storeMessages;
        this.copyMessage = copyMessage;
        this.nbMaxConversations = nbMaxConversations;
        this.rateLimitPerHour = rateLimitPerHour;
        this.messagesDataStore = messagesDataStore;
        this.autoInitialGetBubbles = autoInitialGetBubbles;
        this.autoInitialBubblePresence = autoInitialBubblePresence;
        this.maxBubbleJoinInProgress = maxBubbleJoinInProgress;
        this.autoInitialBubbleFormat = autoInitialBubbleFormat;
        this.autoInitialBubbleUnsubscribed = autoInitialBubbleUnsubscribed;
        this.autoLoadConversations = autoLoadConversations;
        this.autoLoadConversationHistory = autoLoadConversationHistory;
        this.autoLoadContacts = autoLoadContacts;
        this.autoInitialLoadContactsInfoBulk = autoInitialLoadContactsInfoBulk;
        this.autoLoadCallLog = autoLoadCallLog;
        this.enableCarbon = enableCarbon;
        this.enablesendurgentpushmessages = enablesendurgentpushmessages;
        this.storeMessagesInConversation = storeMessagesInConversation;
        this.maxMessagesStoredInConversation = maxMessagesStoredInConversation;
    }
}
exports.ImOptions = ImOptions;
module.exports = {
    RainbowOptions, XmppOptions, S2SOptions, RestOptions, Credentials, Application, ProxyOptions, LogsOptions, ImOptions
};
//# sourceMappingURL=OptionsType.js.map