import { HighlightingInfo } from "./igr-highlighting-info";
import { brushToString, stringToBrush, ensureBool } from "igniteui-react-core/ES5/componentUtil";
/**
 * Represents event arguments base class for the AssigningCategoryStyleEventArgsBase
*/
var AssigningCategoryStyleEventArgsBase = /** @class */ (function () {
    function AssigningCategoryStyleEventArgsBase() {
        this._implementation = this.createImplementation();
        this._implementation.externalObject = this;
        this.onImplementationCreated();
    }
    AssigningCategoryStyleEventArgsBase.prototype.createImplementation = function () {
        return null;
    };
    Object.defineProperty(AssigningCategoryStyleEventArgsBase.prototype, "i", {
        get: function () {
            return this._implementation;
        },
        enumerable: true,
        configurable: true
    });
    AssigningCategoryStyleEventArgsBase.prototype.onImplementationCreated = function () {
    };
    AssigningCategoryStyleEventArgsBase.prototype._provideImplementation = function (i) {
        this._implementation = i;
        this._implementation.externalObject = this;
        this.onImplementationCreated();
    };
    Object.defineProperty(AssigningCategoryStyleEventArgsBase.prototype, "startIndex", {
        /**
         * Gets the start index
        */
        get: function () {
            return this.i.m;
        },
        set: function (v) {
            this.i.m = +v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(AssigningCategoryStyleEventArgsBase.prototype, "endIndex", {
        /**
         * Gets the end index
        */
        get: function () {
            return this.i.l;
        },
        set: function (v) {
            this.i.l = +v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(AssigningCategoryStyleEventArgsBase.prototype, "startDate", {
        /**
         * Gets the start date
        */
        get: function () {
            return this.i.h;
        },
        set: function (v) {
            this.i.h = v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(AssigningCategoryStyleEventArgsBase.prototype, "endDate", {
        /**
         * Gets the end date
        */
        get: function () {
            return this.i.g;
        },
        set: function (v) {
            this.i.g = v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(AssigningCategoryStyleEventArgsBase.prototype, "getItems", {
        /**
         * Gets a function that will return the items associated with this event.
        */
        get: function () {
            return this.i.a;
        },
        set: function (v) {
            this.i.a = v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(AssigningCategoryStyleEventArgsBase.prototype, "fill", {
        /**
         * Gets or sets fill brush to use for the current item.
        */
        get: function () {
            return brushToString(this.i.n);
        },
        set: function (v) {
            this.i.n = stringToBrush(v);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(AssigningCategoryStyleEventArgsBase.prototype, "stroke", {
        /**
         * Gets or sets stroke to use for the current item.
        */
        get: function () {
            return brushToString(this.i.o);
        },
        set: function (v) {
            this.i.o = stringToBrush(v);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(AssigningCategoryStyleEventArgsBase.prototype, "opacity", {
        /**
         * Gets or sets opacity to use for the current item.
        */
        get: function () {
            return this.i.j;
        },
        set: function (v) {
            this.i.j = +v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(AssigningCategoryStyleEventArgsBase.prototype, "highlightingInfo", {
        /**
         * Gets or sets highlighting info
        */
        get: function () {
            if (this.i.b == null) {
                return null;
            }
            if (!this.i.b.externalObject) {
                var e = new HighlightingInfo();
                e._implementation = this.i.b;
                this.i.b.externalObject = e;
            }
            return this.i.b.externalObject;
        },
        set: function (v) {
            v == null ? this.i.b = null : this.i.b = v.i;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(AssigningCategoryStyleEventArgsBase.prototype, "maxAllSeriesHighlightingProgress", {
        /**
         * Gets the max highlighting progress from all series.
        */
        get: function () {
            return this.i.i;
        },
        set: function (v) {
            this.i.i = +v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(AssigningCategoryStyleEventArgsBase.prototype, "sumAllSeriesHighlightingProgress", {
        /**
         * Gets the sum of highlighting progress from all series.
        */
        get: function () {
            return this.i.k;
        },
        set: function (v) {
            this.i.k = +v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(AssigningCategoryStyleEventArgsBase.prototype, "highlightingHandled", {
        /**
         * Gets or sets if highlighting was handled by this event handler, and whether internal highlighting logic should be skipped.
        */
        get: function () {
            return this.i.d;
        },
        set: function (v) {
            this.i.d = ensureBool(v);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(AssigningCategoryStyleEventArgsBase.prototype, "hasDateRange", {
        /**
         * Gets if this event has a valid date range
        */
        get: function () {
            return this.i.c;
        },
        set: function (v) {
            this.i.c = ensureBool(v);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(AssigningCategoryStyleEventArgsBase.prototype, "isNegativeShape", {
        /**
         * Gets if the current shape is identified as a negative shape if this series supports discrete negative shapes.
        */
        get: function () {
            return this.i.e;
        },
        set: function (v) {
            this.i.e = ensureBool(v);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(AssigningCategoryStyleEventArgsBase.prototype, "isThumbnail", {
        /**
         * Gets if the current event is being raised for the thumbnail image.
        */
        get: function () {
            return this.i.f;
        },
        set: function (v) {
            this.i.f = ensureBool(v);
        },
        enumerable: true,
        configurable: true
    });
    return AssigningCategoryStyleEventArgsBase;
}());
export { AssigningCategoryStyleEventArgsBase };
