import { LegendItemBadgeShape_$type } from "igniteui-angular-core";
import { DataLegendStylingRowEventArgs as DataLegendStylingRowEventArgs_internal } from "./DataLegendStylingRowEventArgs";
import { ensureEnum, ensureBool, brushToString, stringToBrush } from "igniteui-angular-core";
/**
 * Represents styling event args for a row in data legend
*/
var IgxDataLegendStylingRowEventArgs = /** @class */ /*@__PURE__*/ (function () {
    function IgxDataLegendStylingRowEventArgs() {
        this._implementation = this.createImplementation();
        this._implementation.externalObject = this;
        this.onImplementationCreated();
    }
    IgxDataLegendStylingRowEventArgs.prototype.createImplementation = function () {
        return new DataLegendStylingRowEventArgs_internal();
    };
    Object.defineProperty(IgxDataLegendStylingRowEventArgs.prototype, "i", {
        /**
         * @hidden
         */
        get: function () {
            return this._implementation;
        },
        enumerable: false,
        configurable: true
    });
    IgxDataLegendStylingRowEventArgs.prototype.onImplementationCreated = function () {
    };
    IgxDataLegendStylingRowEventArgs.prototype._provideImplementation = function (i) {
        this._implementation = i;
        this._implementation.externalObject = this;
        this.onImplementationCreated();
    };
    Object.defineProperty(IgxDataLegendStylingRowEventArgs.prototype, "badgeShape", {
        /**
         * Gets or sets shape of legend badge in the Data Legend
         * This setting applies only to styling series rows
        */
        get: function () {
            return this.i.a;
        },
        set: function (v) {
            this.i.a = ensureEnum(LegendItemBadgeShape_$type, v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxDataLegendStylingRowEventArgs.prototype, "isBadgeVisible", {
        /**
         * Gets or sets whether the legend badge is visible in the Data Legend
         * This setting applies only to styling series rows
        */
        get: function () {
            return this.i.b;
        },
        set: function (v) {
            this.i.b = ensureBool(v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxDataLegendStylingRowEventArgs.prototype, "isRowVisible", {
        /**
         * Gets or sets whether the whole row is visible in the Data Legend
        */
        get: function () {
            return this.i.c;
        },
        set: function (v) {
            this.i.c = ensureBool(v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxDataLegendStylingRowEventArgs.prototype, "seriesIndex", {
        /**
         * Gets index of series in the chart
        */
        get: function () {
            return this.i.d;
        },
        set: function (v) {
            this.i.d = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxDataLegendStylingRowEventArgs.prototype, "seriesTitle", {
        /**
         * Gets title of series in the chart
        */
        get: function () {
            return this.i.e;
        },
        set: function (v) {
            this.i.e = v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxDataLegendStylingRowEventArgs.prototype, "titleText", {
        /**
         * Gets or sets title text displayed in row of Data Legend
        */
        get: function () {
            return this.i.f;
        },
        set: function (v) {
            this.i.f = v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxDataLegendStylingRowEventArgs.prototype, "titleTextColor", {
        /**
         * Gets or sets color of title text
        */
        get: function () {
            return brushToString(this.i.g);
        },
        set: function (v) {
            this.i.g = stringToBrush(v);
        },
        enumerable: false,
        configurable: true
    });
    return IgxDataLegendStylingRowEventArgs;
}());
export { IgxDataLegendStylingRowEventArgs };
