var __extends = (this && this.__extends) || (function () {
    var extendStatics = Object.setPrototypeOf ||
        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
    return function (d, b) {
        extendStatics(d, b);
        function __() { this.constructor = d; }
        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
    };
})();
var F01222;
(function (F01222) {
    var InterfaceRulesF01212 = F01212.InterfaceRules;
    var InterfaceRules = (function (_super) {
        __extends(InterfaceRules, _super);
        function InterfaceRules() {
            var _this = _super !== null && _super.apply(this, arguments) || this;
            _this._sheetP6Sp3Info = null;
            _this._sheetP6Sp4Info = null;
            _this._F01212sheetP4Sp3Info = null;
            return _this;
        }
        Object.defineProperty(InterfaceRules.prototype, "SheetP6Sp3Info", {
            get: function () {
                if (this._sheetP6Sp3Info == null) {
                    this._sheetP6Sp3Info = {
                        MaxLevel: 1,
                        CodeInfo: InterfaceRulesF01212._sheetPXSp3CodeInfo,
                        ColumnsInfo: [
                            this.SprColConstAll,
                            SheetColumnInfoCollection.AllDefault,
                            SheetColumnInfoCollection.FreeColAllCalc,
                            SheetColumnInfoCollection.FreeColAllX,
                            InterfaceRules._sheetP6Sp3Col4Info,
                            SheetColumnInfoCollection.RelatedColAllX,
                            SheetColumnInfoCollection.RelatedColAllX,
                            SheetColumnInfoCollection.RelatedColAllX,
                            SheetColumnInfoCollection.RelatedColAllX,
                            SheetColumnInfoCollection.RelatedColAllX
                        ]
                    };
                }
                return this._sheetP6Sp3Info;
            },
            enumerable: true,
            configurable: true
        });
        Object.defineProperty(InterfaceRules.prototype, "SheetP6Sp4Info", {
            get: function () {
                if (this._sheetP6Sp4Info == null) {
                    this._sheetP6Sp4Info = {
                        MaxLevel: 1,
                        CodeInfo: InterfaceRulesF01212._sheetPXSp3CodeInfo,
                        ColumnsInfo: [
                            this.RelatedColConstAll,
                            SheetColumnInfoCollection.AllDefault,
                            SheetColumnInfoCollection.CalcColAllCalc,
                            SheetColumnInfoCollection.CalcColAllCalc,
                            SheetColumnInfoCollection.RelatedColAllCalc,
                            SheetColumnInfoCollection.RelatedColAllCalc,
                            SheetColumnInfoCollection.RelatedColAllCalc,
                            SheetColumnInfoCollection.RelatedColAllCalc,
                            SheetColumnInfoCollection.RelatedColAllCalc,
                            SheetColumnInfoCollection.CalcColAllCalc
                        ]
                    };
                }
                return this._sheetP6Sp4Info;
            },
            enumerable: true,
            configurable: true
        });
        InterfaceRules.prototype.SheetP6Sp3FormatEventHandler = function (sheetId, row, column, groupIndex) {
            return this.Document.CommonRules.StandardFormat(sheetId, row, column, this.SheetP6Sp3Info);
        };
        InterfaceRules.prototype.SheetP6Sp4FormatEventHandler = function (sheetId, row, column, groupIndex) {
            return this.Document.CommonRules.StandardFormat(sheetId, row, column, this.SheetP6Sp4Info);
        };
        InterfaceRules.prototype.SheetP6Sp3CalcEventHandler = function (sheetId, row, column, fieldId) {
            return this.Document.CommonRules.StandardCalc(sheetId, row, column, this.SheetP6Sp3Info);
        };
        InterfaceRules.prototype.SheetP6Sp4CalcEventHandler = function (sheetId, row, column, fieldId) {
            return this.Document.CommonRules.StandardCalc(sheetId, row, column, this.SheetP6Sp4Info);
        };
        Object.defineProperty(InterfaceRules.prototype, "SheetP4Sp3Info", {
            get: function () {
                if (this._F01212sheetP4Sp3Info == null) {
                    this._F01212sheetP4Sp3Info = {
                        MaxLevel: 1,
                        CodeInfo: InterfaceRules._sheetPXSp3CodeInfo,
                        ColumnsInfo: [
                            this.SprColConstAll,
                            SheetColumnInfoCollection.AllDefault,
                            SheetColumnInfoCollection.FreeColAllCalc,
                            SheetColumnInfoCollection.FreeColAllCalc,
                            SheetColumnInfoCollection.CalcColAllX,
                            SheetColumnInfoCollection.FreeColAllX,
                            SheetColumnInfoCollection.FreeColAllX,
                            SheetColumnInfoCollection.FreeColAllX,
                            SheetColumnInfoCollection.CalcColAllCalc
                        ]
                    };
                }
                return this._F01212sheetP4Sp3Info;
            },
            enumerable: true,
            configurable: true
        });
        return InterfaceRules;
    }(InterfaceRulesF01212));
    InterfaceRules._sheetP6Sp3Col4Info = {
        Cell: {
            Type: SheetCellTypes.Calc,
            FormulaId: BaseFormulas[BaseFormulas.SUM],
            SourceColumns: [5, 6, 7, 8, 9]
        },
        TotalRow: SheetRowInfoCollection.XRow,
        SubTotalRow: SheetRowInfoCollection.XRow
    };
    F01222.InterfaceRules = InterfaceRules;
})(F01222 || (F01222 = {}));
