import { CellContentHorizontalAlignment, CellContentHorizontalAlignment_$type } from "./CellContentHorizontalAlignment";
import { CellContentVerticalAlignment_$type } from "./CellContentVerticalAlignment";
import { TextCellLineBreakMode_$type } from "./TextCellLineBreakMode";
import { ColumnSortDirection_$type } from "./ColumnSortDirection";
import { ensureBool, ensureEnum, brushToString, stringToBrush } from "igniteui-webcomponents-core";
import { FontInfo } from "igniteui-webcomponents-core";
import { delegateCombine, delegateRemove, runOn } from "igniteui-webcomponents-core";
import { PinnedPositions_$type } from './PinnedPositions';
/**
 * Represents info about the current cell.
*/
var IgcCellInfo = /** @class */ /*@__PURE__*/ (function () {
    function IgcCellInfo() {
        this._onChanged = [];
        this._changed = false;
        this._implementation = this.createImplementation();
        this._implementation.externalObject = this;
        this.onImplementationCreated();
    }
    IgcCellInfo.prototype.createImplementation = function () {
        return null;
    };
    Object.defineProperty(IgcCellInfo.prototype, "i", {
        get: function () {
            return this._implementation;
        },
        enumerable: true,
        configurable: true
    });
    IgcCellInfo.prototype._provideImplementation = function (i) {
        this._implementation = i;
        this._implementation.externalObject = this;
        this.onImplementationCreated();
    };
    IgcCellInfo.prototype.onImplementationCreated = function () {
    };
    IgcCellInfo.prototype.addOnChangedListener = function (listener) {
        if (this._onChanged.length == 0) {
            this.i.propertyChanged = delegateCombine(this.i.propertyChanged, runOn(this, this._implementation_propertyChanged));
            this.i.cellReconciling = delegateCombine(this.i.cellReconciling, runOn(this, this._implementation_cellReconciling));
        }
        this._onChanged.push(listener);
    };
    IgcCellInfo.prototype.removeOnChangedListener = function (listener) {
        var ind = this._onChanged.indexOf(listener);
        if (ind < 0) {
            return;
        }
        this._onChanged.splice(ind, 1);
        if (this._onChanged.length == 0) {
            this.i.propertyChanged = delegateRemove(this.i.propertyChanged, runOn(this, this._implementation_propertyChanged));
            this.i.cellReconciling = delegateRemove(this.i.cellReconciling, runOn(this, this._implementation_cellReconciling));
        }
    };
    IgcCellInfo.prototype._implementation_propertyChanged = function (sender, args) {
        this._changed = true;
    };
    IgcCellInfo.prototype._implementation_cellReconciling = function (model) {
        if (this._changed && this._onChanged !== null && this._onChanged.length > 0) {
            this._changed = false;
            for (var i = 0; i < this._onChanged.length; i++) {
                this._onChanged[i]();
            }
        }
        this._changed = false;
    };
    Object.defineProperty(IgcCellInfo.prototype, "resolvedTextAlign", {
        get: function () {
            switch (this.horizontalAlignment) {
                case CellContentHorizontalAlignment.Center:
                    return "center";
                case CellContentHorizontalAlignment.Left:
                    return "left";
                case CellContentHorizontalAlignment.Right:
                    return "right";
                case CellContentHorizontalAlignment.Stretch:
                    return "center";
            }
            return "left";
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcCellInfo.prototype, "resolvedContentOpacity", {
        get: function () {
            var virtualPercent = Math.min(1.0, Math.max(0.0, this.virtualizationPercentage));
            var opacity = this.contentOpacity * (1.0 - virtualPercent);
            return opacity;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcCellInfo.prototype, "styleKey", {
        /**
     * Gets the style key of the current cell, used for recycling.
    */
        get: function () {
            return this.i.i2;
        },
        set: function (v) {
            this.i.i2 = v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcCellInfo.prototype, "dataRow", {
        /**
         * Gets the absolute data row for the current cell.
        */
        get: function () {
            return this.i.ej;
        },
        set: function (v) {
            this.i.ej = +v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcCellInfo.prototype, "isPositionDirty", {
        /**
         * Gets if the position of the cell is dirty.
        */
        get: function () {
            return this.i.a5;
        },
        set: function (v) {
            this.i.a5 = ensureBool(v);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcCellInfo.prototype, "isSizeDirty", {
        /**
         * Gets if the size of the cell is dirty.
        */
        get: function () {
            return this.i.ba;
        },
        set: function (v) {
            this.i.ba = ensureBool(v);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcCellInfo.prototype, "isContentDirty", {
        /**
         * Gets if the content of the cell is dirty.
        */
        get: function () {
            return this.i.as;
        },
        set: function (v) {
            this.i.as = ensureBool(v);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcCellInfo.prototype, "isBorderDirty", {
        /**
         * Gets if the content of the cell is dirty.
        */
        get: function () {
            return this.i.aq;
        },
        set: function (v) {
            this.i.aq = ensureBool(v);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcCellInfo.prototype, "isLayerDirty", {
        /**
         * Gets if the layer of the cell is dirty.
        */
        get: function () {
            return this.i.a3;
        },
        set: function (v) {
            this.i.a3 = ensureBool(v);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcCellInfo.prototype, "isStateDirty", {
        /**
         * Gets if the layer of the cell is dirty.
        */
        get: function () {
            return this.i.bb;
        },
        set: function (v) {
            this.i.bb = ensureBool(v);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcCellInfo.prototype, "isDataDirty", {
        /**
         * Gets if the data of the cell is dirty.
        */
        get: function () {
            return this.i.au;
        },
        set: function (v) {
            this.i.au = ensureBool(v);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcCellInfo.prototype, "isPlaceholdContentNeeded", {
        /**
         * Gets if placeholder content is needed when virtualized.
        */
        get: function () {
            return this.i.a4;
        },
        set: function (v) {
            this.i.a4 = ensureBool(v);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcCellInfo.prototype, "actionManager", {
        /**
         * Gets the action manager to propagate actions back to the grid.
        */
        get: function () {
            return this.i.c;
        },
        set: function (v) {
            this.i.c = v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcCellInfo.prototype, "isRowPinned", {
        /**
         * Gets if this cell belongs to a row that has been marked as pinned.
        */
        get: function () {
            return this.i.a6;
        },
        set: function (v) {
            this.i.a6 = ensureBool(v);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcCellInfo.prototype, "isRowSticky", {
        /**
         * Gets if this cell belongs to a row that will stick to the top of the grid.
        */
        get: function () {
            return this.i.a7;
        },
        set: function (v) {
            this.i.a7 = ensureBool(v);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcCellInfo.prototype, "isLastStickyRow", {
        /**
         * Gets if this cell is the last row that can stick to the top of the grid.
        */
        get: function () {
            return this.i.a2;
        },
        set: function (v) {
            this.i.a2 = ensureBool(v);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcCellInfo.prototype, "indent", {
        /**
         * Gets the indent level of the cell.
        */
        get: function () {
            return this.i.e6;
        },
        set: function (v) {
            this.i.e6 = +v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcCellInfo.prototype, "rowItem", {
        get: function () {
            return this.i.gq;
        },
        set: function (v) {
            this.i.gq = v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcCellInfo.prototype, "x", {
        /**
         * Gets the X position of the cell within the content.
        */
        get: function () {
            return this.i.cc;
        },
        set: function (v) {
            this.i.cc = +v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcCellInfo.prototype, "y", {
        /**
         * Gets the Y position of the cell within the content.
        */
        get: function () {
            return this.i.cd;
        },
        set: function (v) {
            this.i.cd = +v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcCellInfo.prototype, "snappedX", {
        /**
         * Gets the pixel snapped X position of the cell within the content.
        */
        get: function () {
            return this.i.f3;
        },
        set: function (v) {
            this.i.f3 = +v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcCellInfo.prototype, "snappedY", {
        /**
         * Gets the snapped Y position of the cell within the content.
        */
        get: function () {
            return this.i.f5;
        },
        set: function (v) {
            this.i.f5 = +v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcCellInfo.prototype, "editOpacity", {
        /**
         * Gets or sets the opacity for cells that have unsaved edits.
        */
        get: function () {
            return this.i.b2;
        },
        set: function (v) {
            this.i.b2 = +v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcCellInfo.prototype, "contentOpacity", {
        /**
         * Gets or sets the opacity of the content of the cell.
        */
        get: function () {
            return this.i.b1;
        },
        set: function (v) {
            this.i.b1 = +v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcCellInfo.prototype, "actualContentOpacity", {
        /**
         * Gets the actual content opacity of the cell.
        */
        get: function () {
            return this.i.bz;
        },
        set: function (v) {
            this.i.bz = +v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcCellInfo.prototype, "opacity", {
        /**
         * Gets or sets the opacity of the cell.
        */
        get: function () {
            return this.i.b6;
        },
        set: function (v) {
            this.i.b6 = +v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcCellInfo.prototype, "actualOpacity", {
        /**
         * Gets the actual opacity of the cell.
        */
        get: function () {
            return this.i.b0;
        },
        set: function (v) {
            this.i.b0 = +v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcCellInfo.prototype, "height", {
        /**
         * Gets the height of the cell.
        */
        get: function () {
            return this.i.e0;
        },
        set: function (v) {
            this.i.e0 = +v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcCellInfo.prototype, "width", {
        /**
         * Gets the width of the cell.
        */
        get: function () {
            return this.i.gg;
        },
        set: function (v) {
            this.i.gg = +v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcCellInfo.prototype, "isSelected", {
        /**
         * Gets if the cell is selected.
        */
        get: function () {
            return this.i.a9;
        },
        set: function (v) {
            this.i.a9 = ensureBool(v);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcCellInfo.prototype, "selectedStatus", {
        /**
         * Gets the amount that the cell is selected. This is a value between 0 and 1.
        */
        get: function () {
            return this.i.b8;
        },
        set: function (v) {
            this.i.b8 = +v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcCellInfo.prototype, "activationStatus", {
        /**
         * Gets the amount that the cell is activated. This is a value between 0 and 1.
        */
        get: function () {
            return this.i.by;
        },
        set: function (v) {
            this.i.by = +v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcCellInfo.prototype, "hoverStatus", {
        /**
         * Gets the amount that the cell is hovered. This is a value between 0 and 1.
        */
        get: function () {
            return this.i.b3;
        },
        set: function (v) {
            this.i.b3 = +v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcCellInfo.prototype, "horizontalAlignment", {
        /**
         * Gets or sets the horiztonal alignment of the cell content.
        */
        get: function () {
            return this.i.f;
        },
        set: function (v) {
            this.i.f = ensureEnum(CellContentHorizontalAlignment_$type, v);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcCellInfo.prototype, "verticalAlignment", {
        /**
         * Gets or sets the vertical alignment of the cell content.
        */
        get: function () {
            return this.i.h;
        },
        set: function (v) {
            this.i.h = ensureEnum(CellContentVerticalAlignment_$type, v);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcCellInfo.prototype, "background", {
        /**
         * Gets or sets the background color of the cell.
        */
        get: function () {
            return brushToString(this.i.kh);
        },
        set: function (v) {
            this.i.kh = stringToBrush(v);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcCellInfo.prototype, "border", {
        /**
         * Gets or sets the border color of the cell.
        */
        get: function () {
            return brushToString(this.i.ki);
        },
        set: function (v) {
            this.i.ki = stringToBrush(v);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcCellInfo.prototype, "actualBackground", {
        /**
         * Gets the actual background color of the cell
        */
        get: function () {
            return brushToString(this.i.ke);
        },
        set: function (v) {
            this.i.ke = stringToBrush(v);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcCellInfo.prototype, "actualBorder", {
        /**
         * Gets the actual background color of the cell
        */
        get: function () {
            return brushToString(this.i.kf);
        },
        set: function (v) {
            this.i.kf = stringToBrush(v);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcCellInfo.prototype, "activationBorder", {
        /**
         * Gets the actual background color of the cell
        */
        get: function () {
            return brushToString(this.i.kd);
        },
        set: function (v) {
            this.i.kd = stringToBrush(v);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcCellInfo.prototype, "errorBorder", {
        /**
         * Gets or sets the error border color of the cell.
        */
        get: function () {
            return brushToString(this.i.kk);
        },
        set: function (v) {
            this.i.kk = stringToBrush(v);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcCellInfo.prototype, "selectedBackground", {
        /**
         * Gets or sets the selected background color of the cell.
        */
        get: function () {
            return brushToString(this.i.kq);
        },
        set: function (v) {
            this.i.kq = stringToBrush(v);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcCellInfo.prototype, "hoverBackground", {
        /**
         * Gets or sets the hover background color of the cell.
        */
        get: function () {
            return brushToString(this.i.km);
        },
        set: function (v) {
            this.i.km = stringToBrush(v);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcCellInfo.prototype, "hoverTextColor", {
        /**
         * Gets or sets the hover text color of the cell.
        */
        get: function () {
            return brushToString(this.i.kn);
        },
        set: function (v) {
            this.i.kn = stringToBrush(v);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcCellInfo.prototype, "sortIndicatorColor", {
        /**
         * Gets or sets the color for the sort indicator icon.
        */
        get: function () {
            return brushToString(this.i.kr);
        },
        set: function (v) {
            this.i.kr = stringToBrush(v);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcCellInfo.prototype, "stickyRowBackground", {
        /**
         * Gets or sets the background color for the cell when it is stuck to the top of the grid as a pinned row.
        */
        get: function () {
            return brushToString(this.i.ks);
        },
        set: function (v) {
            this.i.ks = stringToBrush(v);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcCellInfo.prototype, "pinnedRowBackground", {
        /**
         * Gets or sets the background color for the cell that has been marked as pinned.
        */
        get: function () {
            return brushToString(this.i.kp);
        },
        set: function (v) {
            this.i.kp = stringToBrush(v);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcCellInfo.prototype, "lastStickyRowBackground", {
        /**
         * Gets or sets the color for the last row in the sticky row area.
        */
        get: function () {
            return brushToString(this.i.ko);
        },
        set: function (v) {
            this.i.ko = stringToBrush(v);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcCellInfo.prototype, "pinnedRowOpacity", {
        /**
         * Gets or sets the color to use for displaying text.
        */
        get: function () {
            return this.i.b7;
        },
        set: function (v) {
            this.i.b7 = +v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcCellInfo.prototype, "originalValue", {
        /**
         * Gets or sets the original value for the cell, before processing.
        */
        get: function () {
            return this.i.gp;
        },
        set: function (v) {
            this.i.gp = v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcCellInfo.prototype, "renderValue", {
        /**
         * Gets or sets the text value, if any, which was rendered by a text cell.
        */
        get: function () {
            return this.i.ir;
        },
        set: function (v) {
            this.i.ir = v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcCellInfo.prototype, "textColor", {
        /**
         * Gets or sets the color of the text for the cell, if any.
        */
        get: function () {
            return brushToString(this.i.kt);
        },
        set: function (v) {
            this.i.kt = stringToBrush(v);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcCellInfo.prototype, "actualTextColor", {
        /**
         * Gets the actual color of the text for the cell, if any.
        */
        get: function () {
            return brushToString(this.i.kg);
        },
        set: function (v) {
            this.i.kg = stringToBrush(v);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcCellInfo.prototype, "deletedTextColor", {
        /**
         * Gets or sets the text color for cells in deleted rows.
        */
        get: function () {
            return brushToString(this.i.kj);
        },
        set: function (v) {
            this.i.kj = stringToBrush(v);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcCellInfo.prototype, "font", {
        get: function () {
            if (this.i.af == null) {
                return null;
            }
            return this.i.af.fontString;
        },
        set: function (v) {
            var fi = new FontInfo();
            fi.fontString = v;
            this.i.af = fi;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcCellInfo.prototype, "actualFont", {
        get: function () {
            if (this.i.ad == null) {
                return null;
            }
            return this.i.ad.fontString;
        },
        set: function (v) {
            var fi = new FontInfo();
            fi.fontString = v;
            this.i.ad = fi;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcCellInfo.prototype, "lineBreakMode", {
        /**
         * Gets or sets the line break mode to use if text is present in the cell.
        */
        get: function () {
            return this.i.z;
        },
        set: function (v) {
            this.i.z = ensureEnum(TextCellLineBreakMode_$type, v);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcCellInfo.prototype, "virtualizationPercentage", {
        /**
         * Gets or sets the virtualization percentage value. This is between 0 an 1, and indicates how virtual the content is at present.
        */
        get: function () {
            return this.i.cb;
        },
        set: function (v) {
            this.i.cb = +v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcCellInfo.prototype, "paddingLeft", {
        /**
         * Gets or sets the left padding to use for the content.
        */
        get: function () {
            return this.i.fp;
        },
        set: function (v) {
            this.i.fp = +v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcCellInfo.prototype, "paddingTop", {
        /**
         * Gets or sets the top padding to use for the content.
        */
        get: function () {
            return this.i.ft;
        },
        set: function (v) {
            this.i.ft = +v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcCellInfo.prototype, "paddingRight", {
        /**
         * Gets or sets the right padding to use for the content.
        */
        get: function () {
            return this.i.fr;
        },
        set: function (v) {
            this.i.fr = +v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcCellInfo.prototype, "paddingBottom", {
        /**
         * Gets or sets the bottom padding to use for the content.
        */
        get: function () {
            return this.i.fn;
        },
        set: function (v) {
            this.i.fn = +v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcCellInfo.prototype, "actualPaddingLeft", {
        /**
         * Gets or sets the left padding to use for the content.
        */
        get: function () {
            return this.i.d1;
        },
        set: function (v) {
            this.i.d1 = +v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcCellInfo.prototype, "actualPaddingTop", {
        /**
         * Gets or sets the top padding to use for the content.
        */
        get: function () {
            return this.i.d5;
        },
        set: function (v) {
            this.i.d5 = +v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcCellInfo.prototype, "actualPaddingRight", {
        /**
         * Gets or sets the right padding to use for the content.
        */
        get: function () {
            return this.i.d3;
        },
        set: function (v) {
            this.i.d3 = +v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcCellInfo.prototype, "actualPaddingBottom", {
        /**
         * Gets or sets the bottom padding to use for the content.
        */
        get: function () {
            return this.i.dz;
        },
        set: function (v) {
            this.i.dz = +v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcCellInfo.prototype, "borderLeftWidth", {
        /**
         * Gets or sets the left border to use for the content.
        */
        get: function () {
            return this.i.eb;
        },
        set: function (v) {
            this.i.eb = +v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcCellInfo.prototype, "borderTopWidth", {
        /**
         * Gets or sets the top border to use for the content.
        */
        get: function () {
            return this.i.eg;
        },
        set: function (v) {
            this.i.eg = +v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcCellInfo.prototype, "borderRightWidth", {
        /**
         * Gets or sets the right border to use for the content.
        */
        get: function () {
            return this.i.ee;
        },
        set: function (v) {
            this.i.ee = +v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcCellInfo.prototype, "borderBottomWidth", {
        /**
         * Gets or sets the bottom border to use for the content.
        */
        get: function () {
            return this.i.d9;
        },
        set: function (v) {
            this.i.d9 = +v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcCellInfo.prototype, "activationBorderLeftWidth", {
        /**
         * Gets or sets the left activation border to use for the content.
        */
        get: function () {
            return this.i.dd;
        },
        set: function (v) {
            this.i.dd = +v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcCellInfo.prototype, "activationBorderTopWidth", {
        /**
         * Gets or sets the top activation border to use for the content.
        */
        get: function () {
            return this.i.di;
        },
        set: function (v) {
            this.i.di = +v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcCellInfo.prototype, "activationBorderRightWidth", {
        /**
         * Gets or sets the right activation border to use for the content.
        */
        get: function () {
            return this.i.dg;
        },
        set: function (v) {
            this.i.dg = +v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcCellInfo.prototype, "activationBorderBottomWidth", {
        /**
         * Gets or sets the bottom activation border to use for the content.
        */
        get: function () {
            return this.i.db;
        },
        set: function (v) {
            this.i.db = +v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcCellInfo.prototype, "errorBorderLeftWidth", {
        /**
         * Gets or sets the left error border to use for the content.
        */
        get: function () {
            return this.i.er;
        },
        set: function (v) {
            this.i.er = +v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcCellInfo.prototype, "errorBorderTopWidth", {
        /**
         * Gets or sets the top error border to use for the content.
        */
        get: function () {
            return this.i.ew;
        },
        set: function (v) {
            this.i.ew = +v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcCellInfo.prototype, "errorBorderRightWidth", {
        /**
         * Gets or sets the right error border to use for the content.
        */
        get: function () {
            return this.i.eu;
        },
        set: function (v) {
            this.i.eu = +v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcCellInfo.prototype, "errorBorderBottomWidth", {
        /**
         * Gets or sets the bottom error border to use for the content.
        */
        get: function () {
            return this.i.ep;
        },
        set: function (v) {
            this.i.ep = +v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcCellInfo.prototype, "actualBorderLeftWidth", {
        /**
         * Gets or sets the actual left border to use for the content.
        */
        get: function () {
            return this.i.dp;
        },
        set: function (v) {
            this.i.dp = +v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcCellInfo.prototype, "actualBorderTopWidth", {
        /**
         * Gets or sets the actual top border to use for the content.
        */
        get: function () {
            return this.i.du;
        },
        set: function (v) {
            this.i.du = +v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcCellInfo.prototype, "actualBorderRightWidth", {
        /**
         * Gets or sets the actual right border to use for the content.
        */
        get: function () {
            return this.i.ds;
        },
        set: function (v) {
            this.i.ds = +v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcCellInfo.prototype, "actualBorderBottomWidth", {
        /**
         * Gets or sets the actual bottom border to use for the content.
        */
        get: function () {
            return this.i.dm;
        },
        set: function (v) {
            this.i.dm = +v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcCellInfo.prototype, "sortDirection", {
        /**
         * Gets the current sort direction for the column containing the cell.
        */
        get: function () {
            return this.i.m;
        },
        set: function (v) {
            this.i.m = ensureEnum(ColumnSortDirection_$type, v);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcCellInfo.prototype, "isExpanded", {
        /**
         * Gets the expansion state of the cell.
        */
        get: function () {
            return this.i.az;
        },
        set: function (v) {
            this.i.az = ensureBool(v);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcCellInfo.prototype, "isCollapsable", {
        /**
         * Gets if the cell needs to display an expansion indicator.
        */
        get: function () {
            return this.i.ar;
        },
        set: function (v) {
            this.i.ar = ensureBool(v);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcCellInfo.prototype, "pinned", {
        /**
         * Gets the fixed column position of this cell.
        */
        get: function () {
            return this.i.x;
        },
        set: function (v) {
            this.i.x = ensureEnum(PinnedPositions_$type, v);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcCellInfo.prototype, "editFont", {
        get: function () {
            if (this.i.ae == null) {
                return null;
            }
            return this.i.ae.fontString;
        },
        set: function (v) {
            var fi = new FontInfo();
            fi.fontString = v;
            this.i.ae = fi;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcCellInfo.prototype, "isEdited", {
        /**
         * Gets whether the cell has been edited.
        */
        get: function () {
            return this.i.ay;
        },
        set: function (v) {
            this.i.ay = ensureBool(v);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcCellInfo.prototype, "isDeleted", {
        /**
         * Gets whether the cell is part of a deleted row.
        */
        get: function () {
            return this.i.av;
        },
        set: function (v) {
            this.i.av = ensureBool(v);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcCellInfo.prototype, "editError", {
        /**
         * Gets or sets the error message for the cell.
        */
        get: function () {
            return this.i.hm;
        },
        set: function (v) {
            this.i.hm = v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcCellInfo.prototype, "isInEditMode", {
        /**
         * Gets whether the cell is in edit mode.
        */
        get: function () {
            return this.i.a1;
        },
        set: function (v) {
            this.i.a1 = ensureBool(v);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcCellInfo.prototype, "editID", {
        get: function () {
            return this.i.en;
        },
        set: function (v) {
            this.i.en = +v;
        },
        enumerable: true,
        configurable: true
    });
    IgcCellInfo.prototype.findByName = function (name) {
        return null;
    };
    IgcCellInfo.prototype.isCustomFieldDirty = function (propertyName) {
        var iv = this.i.at(propertyName);
        return (iv);
    };
    /**
     * Gets if a named property is dirty.
    
    * @param propertyId  * The property id to check.
    */
    IgcCellInfo.prototype.isDirtyById = function (propertyId_) {
        var iv = this.i.ax(propertyId_);
        return (iv);
    };
    /**
     * Gets if a named property is dirty.
    
    * @param propertyName  * The property name to check.
    */
    IgcCellInfo.prototype.isDirty = function (propertyName) {
        var iv = this.i.aw(propertyName);
        return (iv);
    };
    IgcCellInfo.prototype.setNamedValue = function (valueName, value) {
        this.i.jv(valueName, value);
    };
    /**
     * Returns if there is a named value stored for the cell.
    
    * @param valueName  * The name of the value to check.
    */
    IgcCellInfo.prototype.hasNamedValue = function (valueName) {
        var iv = this.i.ap(valueName);
        return (iv);
    };
    /**
     * Removes a named value from the cell.
    
    * @param valueName  * The name of the value to remove.
    */
    IgcCellInfo.prototype.removeNamedValue = function (valueName) {
        this.i.js(valueName);
    };
    /**
     * Gets a named value from the cell.
    
    * @param valueName  * The name of the value to get.
    */
    IgcCellInfo.prototype.getNamedValue = function (valueName) {
        var iv = this.i.gn(valueName);
        return (iv);
    };
    return IgcCellInfo;
}());
export { IgcCellInfo };
//# sourceMappingURL=igc-cell-info.js.map
