"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.SESSION_STATE_TRANSITIONS = exports.PAYMENT_STATE_TRANSITIONS = exports.NOTIFICATION_TYPES = exports.VOUCHER_STATUSES = exports.ROUTER_PLATFORMS = exports.PACKAGE_TYPES = exports.ROLE_TYPES = exports.SESSION_STATUSES = exports.PAYMENT_STATUSES = void 0;
var PAYMENT_STATUSES;
(function (PAYMENT_STATUSES) {
    PAYMENT_STATUSES["INITIATED"] = "INITIATED";
    PAYMENT_STATUSES["PENDING_CONFIRMATION"] = "PENDING_CONFIRMATION";
    PAYMENT_STATUSES["PROCESSING"] = "PROCESSING";
    PAYMENT_STATUSES["COMPLETED"] = "COMPLETED";
    PAYMENT_STATUSES["FAILED"] = "FAILED";
    PAYMENT_STATUSES["CANCELLED"] = "CANCELLED";
    PAYMENT_STATUSES["REFUNDED"] = "REFUNDED";
    PAYMENT_STATUSES["PARTIALLY_REFUNDED"] = "PARTIALLY_REFUNDED";
    PAYMENT_STATUSES["EXPIRED"] = "EXPIRED";
})(PAYMENT_STATUSES || (exports.PAYMENT_STATUSES = PAYMENT_STATUSES = {}));
var SESSION_STATUSES;
(function (SESSION_STATUSES) {
    SESSION_STATUSES["ACTIVE"] = "ACTIVE";
    SESSION_STATUSES["INACTIVE"] = "INACTIVE";
    SESSION_STATUSES["EXPIRED"] = "EXPIRED";
    SESSION_STATUSES["TERMINATED"] = "TERMINATED";
    SESSION_STATUSES["SUSPENDED"] = "SUSPENDED";
})(SESSION_STATUSES || (exports.SESSION_STATUSES = SESSION_STATUSES = {}));
var ROLE_TYPES;
(function (ROLE_TYPES) {
    ROLE_TYPES["SUPER_ADMIN"] = "super_admin";
    ROLE_TYPES["SYSTEM_ADMIN"] = "system_admin";
    ROLE_TYPES["BUSINESS_OWNER"] = "business_owner";
    ROLE_TYPES["BUSINESS_ADMIN"] = "business_admin";
    ROLE_TYPES["MANAGER"] = "manager";
    ROLE_TYPES["AGENT"] = "agent";
    ROLE_TYPES["VIEWER"] = "viewer";
})(ROLE_TYPES || (exports.ROLE_TYPES = ROLE_TYPES = {}));
var PACKAGE_TYPES;
(function (PACKAGE_TYPES) {
    PACKAGE_TYPES["DAILY"] = "DAILY";
    PACKAGE_TYPES["WEEKLY"] = "WEEKLY";
    PACKAGE_TYPES["MONTHLY"] = "MONTHLY";
    PACKAGE_TYPES["QUARTERLY"] = "QUARTERLY";
    PACKAGE_TYPES["ANNUAL"] = "ANNUAL";
})(PACKAGE_TYPES || (exports.PACKAGE_TYPES = PACKAGE_TYPES = {}));
var ROUTER_PLATFORMS;
(function (ROUTER_PLATFORMS) {
    ROUTER_PLATFORMS["MIKROTIK"] = "MIKROTIK";
    ROUTER_PLATFORMS["UNIFI"] = "UNIFI";
    ROUTER_PLATFORMS["TP_LINK"] = "TP_LINK";
    ROUTER_PLATFORMS["CISCO"] = "CISCO";
    ROUTER_PLATFORMS["PFSENSE"] = "PFSENSE";
    ROUTER_PLATFORMS["GENERIC"] = "GENERIC";
    ROUTER_PLATFORMS["RADIUS"] = "RADIUS";
    ROUTER_PLATFORMS["FREERADIUS"] = "FREERADIUS";
    ROUTER_PLATFORMS["OPENWRT"] = "OPENWRT";
})(ROUTER_PLATFORMS || (exports.ROUTER_PLATFORMS = ROUTER_PLATFORMS = {}));
var VOUCHER_STATUSES;
(function (VOUCHER_STATUSES) {
    VOUCHER_STATUSES["ACTIVE"] = "ACTIVE";
    VOUCHER_STATUSES["REDEEMED"] = "REDEEMED";
    VOUCHER_STATUSES["EXPIRED"] = "EXPIRED";
    VOUCHER_STATUSES["REVOKED"] = "REVOKED";
    VOUCHER_STATUSES["PENDING"] = "PENDING";
})(VOUCHER_STATUSES || (exports.VOUCHER_STATUSES = VOUCHER_STATUSES = {}));
var NOTIFICATION_TYPES;
(function (NOTIFICATION_TYPES) {
    NOTIFICATION_TYPES["PAYMENT_RECEIVED"] = "PAYMENT_RECEIVED";
    NOTIFICATION_TYPES["PAYMENT_FAILED"] = "PAYMENT_FAILED";
    NOTIFICATION_TYPES["SESSION_ACTIVATED"] = "SESSION_ACTIVATED";
    NOTIFICATION_TYPES["SESSION_EXPIRED"] = "SESSION_EXPIRED";
    NOTIFICATION_TYPES["SESSION_TERMINATED"] = "SESSION_TERMINATED";
    NOTIFICATION_TYPES["VOUCHER_CREATED"] = "VOUCHER_CREATED";
    NOTIFICATION_TYPES["VOUCHER_REDEEMED"] = "VOUCHER_REDEEMED";
    NOTIFICATION_TYPES["LOW_BANDWIDTH"] = "LOW_BANDWIDTH";
    NOTIFICATION_TYPES["SYSTEM_ALERT"] = "SYSTEM_ALERT";
})(NOTIFICATION_TYPES || (exports.NOTIFICATION_TYPES = NOTIFICATION_TYPES = {}));
exports.PAYMENT_STATE_TRANSITIONS = {
    [PAYMENT_STATUSES.INITIATED]: [
        PAYMENT_STATUSES.PENDING_CONFIRMATION,
        PAYMENT_STATUSES.PROCESSING,
        PAYMENT_STATUSES.FAILED,
        PAYMENT_STATUSES.CANCELLED,
        PAYMENT_STATUSES.EXPIRED,
    ],
    [PAYMENT_STATUSES.PENDING_CONFIRMATION]: [
        PAYMENT_STATUSES.PROCESSING,
        PAYMENT_STATUSES.FAILED,
        PAYMENT_STATUSES.CANCELLED,
        PAYMENT_STATUSES.EXPIRED,
    ],
    [PAYMENT_STATUSES.PROCESSING]: [
        PAYMENT_STATUSES.COMPLETED,
        PAYMENT_STATUSES.FAILED,
        PAYMENT_STATUSES.CANCELLED,
    ],
    [PAYMENT_STATUSES.COMPLETED]: [
        PAYMENT_STATUSES.REFUNDED,
        PAYMENT_STATUSES.PARTIALLY_REFUNDED,
    ],
    [PAYMENT_STATUSES.FAILED]: [PAYMENT_STATUSES.INITIATED],
    [PAYMENT_STATUSES.CANCELLED]: [],
    [PAYMENT_STATUSES.REFUNDED]: [],
    [PAYMENT_STATUSES.PARTIALLY_REFUNDED]: [PAYMENT_STATUSES.REFUNDED],
    [PAYMENT_STATUSES.EXPIRED]: [],
};
exports.SESSION_STATE_TRANSITIONS = {
    [SESSION_STATUSES.ACTIVE]: [
        SESSION_STATUSES.INACTIVE,
        SESSION_STATUSES.EXPIRED,
        SESSION_STATUSES.TERMINATED,
        SESSION_STATUSES.SUSPENDED,
    ],
    [SESSION_STATUSES.INACTIVE]: [
        SESSION_STATUSES.ACTIVE,
        SESSION_STATUSES.EXPIRED,
    ],
    [SESSION_STATUSES.EXPIRED]: [],
    [SESSION_STATUSES.TERMINATED]: [],
    [SESSION_STATUSES.SUSPENDED]: [
        SESSION_STATUSES.ACTIVE,
        SESSION_STATUSES.TERMINATED,
    ],
};
