"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
class Rule {
    constructor() {
        this.rule = "not-set-in-inheriting-class";
    }
}
exports.Rule = Rule;
(function (Rule) {
    let Type;
    (function (Type) {
        Type["Tags"] = "tags";
        Type["Authors"] = "authors";
        Type["Weight"] = "weight";
        Type["WeightForPeriod"] = "weight_for_period";
        Type["CustomRPC"] = "custom_rpc";
        Type["VotingPower"] = "voting_power";
        Type["VotesCount"] = "votes_count";
        Type["Voters"] = "voters";
        Type["FirstPost"] = "first_post";
        Type["Payout"] = "payout";
        Type["AgeOfPost"] = "age_of_post";
        Type["ExpirationDate"] = "expiration_date";
    })(Type = Rule.Type || (Rule.Type = {}));
})(Rule = exports.Rule || (exports.Rule = {}));
(function (Rule) {
    /**
     * This is an TS 1.6+ TypeGuard as described here: https://www.typescriptlang.org/docs/handbook/advanced-types.html
     */
    function isRule(o) {
        return o.rule !== undefined;
    }
    Rule.isRule = isRule;
})(Rule = exports.Rule || (exports.Rule = {}));
//# sourceMappingURL=Rule.js.map