import * as tslib_1 from "tslib";
import { SortIndicatorStyle_$type } from "./SortIndicatorStyle";
import { ColumnOptionsIconAlignment_$type } from "./ColumnOptionsIconAlignment";
import { ColumnOptionsIconBehavior_$type } from "./ColumnOptionsIconBehavior";
import { IgcTextCellInfo } from "./igc-text-cell-info";
import { TextHeaderCellModel as TextHeaderCellModel_internal } from "./TextHeaderCellModel";
import { ensureBool, ensureEnum, brushToString, stringToBrush } from "igniteui-webcomponents-core";
/**
 * Backing information for a text header cell.
*/
var IgcTextHeaderCellInfo = /** @class */ /*@__PURE__*/ (function (_super) {
    tslib_1.__extends(IgcTextHeaderCellInfo, _super);
    function IgcTextHeaderCellInfo() {
        return _super.call(this) || this;
    }
    IgcTextHeaderCellInfo.prototype.createImplementation = function () {
        return new TextHeaderCellModel_internal();
    };
    Object.defineProperty(IgcTextHeaderCellInfo.prototype, "i", {
        /**
                                     * @hidden
                                     */
        get: function () {
            return this._implementation;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcTextHeaderCellInfo.prototype, "isColumnOptionsEnabled", {
        /**
         * Sets or gets whether the filter UI should be visible in the header.
        */
        get: function () {
            return this.i.k7;
        },
        set: function (v) {
            this.i.k7 = ensureBool(v);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcTextHeaderCellInfo.prototype, "sortIndicatorStyle", {
        get: function () {
            return this.i.k5;
        },
        set: function (v) {
            this.i.k5 = ensureEnum(SortIndicatorStyle_$type, v);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcTextHeaderCellInfo.prototype, "columnOptionsIconAlignment", {
        /**
         * Gets or sets the alignment of the column options icon within the header cell.
        */
        get: function () {
            return this.i.k1;
        },
        set: function (v) {
            this.i.k1 = ensureEnum(ColumnOptionsIconAlignment_$type, v);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcTextHeaderCellInfo.prototype, "columnOptionsIconColor", {
        /**
         * Gets or sets the color for the column options icon in the header.
        */
        get: function () {
            return brushToString(this.i.lj);
        },
        set: function (v) {
            this.i.lj = stringToBrush(v);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcTextHeaderCellInfo.prototype, "columnOptionsIconBehavior", {
        /**
         * Gets or sets how the column option icon will behave in the header.
        */
        get: function () {
            return this.i.k3;
        },
        set: function (v) {
            this.i.k3 = ensureEnum(ColumnOptionsIconBehavior_$type, v);
        },
        enumerable: true,
        configurable: true
    });
    return IgcTextHeaderCellInfo;
}(IgcTextCellInfo));
export { IgcTextHeaderCellInfo };
//# sourceMappingURL=igc-text-header-cell-info.js.map
