import { DataLegendSeriesValueType_$type } from "./DataLegendSeriesValueType";
import { DataLegendSeriesValueInfo as DataLegendSeriesValueInfo_internal } from "./DataLegendSeriesValueInfo";
import { brushToString, stringToBrush, ensureBool, ensureEnum } from "./componentUtil";
/**
 * Represent info about series values
*/
var IgcDataLegendSeriesValueInfo = /** @class */ /*@__PURE__*/ (function () {
    function IgcDataLegendSeriesValueInfo() {
        this._implementation = this.createImplementation();
        this._implementation.externalObject = this;
        this.onImplementationCreated();
    }
    IgcDataLegendSeriesValueInfo.prototype.createImplementation = function () {
        return new DataLegendSeriesValueInfo_internal();
    };
    Object.defineProperty(IgcDataLegendSeriesValueInfo.prototype, "i", {
        /**
         * @hidden
         */
        get: function () {
            return this._implementation;
        },
        enumerable: true,
        configurable: true
    });
    IgcDataLegendSeriesValueInfo.prototype.onImplementationCreated = function () {
    };
    IgcDataLegendSeriesValueInfo.prototype._provideImplementation = function (i) {
        this._implementation = i;
        this._implementation.externalObject = this;
        this.onImplementationCreated();
    };
    Object.defineProperty(IgcDataLegendSeriesValueInfo.prototype, "value", {
        /**
         * Gets value of series
        */
        get: function () {
            return this.i.l;
        },
        set: function (v) {
            this.i.l = +v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcDataLegendSeriesValueInfo.prototype, "valueNegativePrefix", {
        /**
         * Gets or sets prefix for negative value
        */
        get: function () {
            return this.i.t;
        },
        set: function (v) {
            this.i.t = v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcDataLegendSeriesValueInfo.prototype, "valueNegativeSuffix", {
        /**
         * Gets or sets suffix for negative value
        */
        get: function () {
            return this.i.u;
        },
        set: function (v) {
            this.i.u = v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcDataLegendSeriesValueInfo.prototype, "valuePositivePrefix", {
        /**
         * Gets or sets prefix for positive value
        */
        get: function () {
            return this.i.v;
        },
        set: function (v) {
            this.i.v = v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcDataLegendSeriesValueInfo.prototype, "valuePositiveSuffix", {
        /**
         * Gets or sets suffix for positive value
        */
        get: function () {
            return this.i.w;
        },
        set: function (v) {
            this.i.w = v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcDataLegendSeriesValueInfo.prototype, "formatWithSeriesColor", {
        /**
         * Gets value color used by the series
        */
        get: function () {
            return brushToString(this.i.x);
        },
        set: function (v) {
            this.i.x = stringToBrush(v);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcDataLegendSeriesValueInfo.prototype, "formatMinFractions", {
        /**
         * Gets or sets minimum digits used for displaying faction of the value
        */
        get: function () {
            return this.i.n;
        },
        set: function (v) {
            this.i.n = +v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcDataLegendSeriesValueInfo.prototype, "formatMaxFractions", {
        /**
         * Gets or sets maximum digits used for displaying faction of the value
        */
        get: function () {
            return this.i.m;
        },
        set: function (v) {
            this.i.m = +v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcDataLegendSeriesValueInfo.prototype, "formatUsePositiveColor", {
        /**
         * Gets or sets whether or not use conditional color
        */
        get: function () {
            return this.i.j;
        },
        set: function (v) {
            this.i.j = ensureBool(v);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcDataLegendSeriesValueInfo.prototype, "formatUseNegativeColor", {
        /**
         * Gets or sets whether or not use conditional color
        */
        get: function () {
            return this.i.i;
        },
        set: function (v) {
            this.i.i = ensureBool(v);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcDataLegendSeriesValueInfo.prototype, "formatAllowCurrency", {
        /**
         * Gets or sets whether or not allow displaying value as currency
        */
        get: function () {
            return this.i.e;
        },
        set: function (v) {
            this.i.e = ensureBool(v);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcDataLegendSeriesValueInfo.prototype, "formatAllowPercent", {
        /**
         * Gets or sets whether or not allow displaying value as percentage
        */
        get: function () {
            return this.i.h;
        },
        set: function (v) {
            this.i.h = ensureBool(v);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcDataLegendSeriesValueInfo.prototype, "formatAllowDecimal", {
        /**
         * Gets or sets whether or not allow displaying value as decimal
        */
        get: function () {
            return this.i.f;
        },
        set: function (v) {
            this.i.f = ensureBool(v);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcDataLegendSeriesValueInfo.prototype, "formatAllowInteger", {
        /**
         * Gets or sets whether or not allow displaying value as integer
        */
        get: function () {
            return this.i.g;
        },
        set: function (v) {
            this.i.g = ensureBool(v);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcDataLegendSeriesValueInfo.prototype, "formatAllowAbbreviation", {
        /**
         * Gets or sets whether or not allow displaying value with abbreviation
        */
        get: function () {
            return this.i.d;
        },
        set: function (v) {
            this.i.d = ensureBool(v);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcDataLegendSeriesValueInfo.prototype, "valueType", {
        /**
         * Gets or sets type of value
        */
        get: function () {
            return this.i.a;
        },
        set: function (v) {
            this.i.a = ensureEnum(DataLegendSeriesValueType_$type, v);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcDataLegendSeriesValueInfo.prototype, "index", {
        /**
         * Gets the index of series
        */
        get: function () {
            return this.i.o;
        },
        set: function (v) {
            this.i.o = +v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcDataLegendSeriesValueInfo.prototype, "isExcludeByDefault", {
        /**
         * Gets or sets whether this value is excluded/hidden by default in Data Legend
        */
        get: function () {
            return this.i.k;
        },
        set: function (v) {
            this.i.k = ensureBool(v);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcDataLegendSeriesValueInfo.prototype, "allowUnits", {
        /**
         * Gets or sets whether the unit text is allowed by the series, e.g. "Hz"
        */
        get: function () {
            return this.i.c;
        },
        set: function (v) {
            this.i.c = ensureBool(v);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcDataLegendSeriesValueInfo.prototype, "allowLabels", {
        /**
         * Gets or sets whether the label text is allowed by the series, e.g. "H:"
        */
        get: function () {
            return this.i.b;
        },
        set: function (v) {
            this.i.b = ensureBool(v);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcDataLegendSeriesValueInfo.prototype, "memberPath", {
        /**
         * Gets or sets member path for the series value, e.g. "High"
        */
        get: function () {
            return this.i.p;
        },
        set: function (v) {
            this.i.p = v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcDataLegendSeriesValueInfo.prototype, "memberSymbol", {
        /**
         * Gets or sets label for the series value, e.g. "H:"
        */
        get: function () {
            return this.i.q;
        },
        set: function (v) {
            this.i.q = v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcDataLegendSeriesValueInfo.prototype, "memberUnit", {
        /**
         * Gets or sets unit text for the value, e.g. "Hz"
        */
        get: function () {
            return this.i.r;
        },
        set: function (v) {
            this.i.r = v;
        },
        enumerable: true,
        configurable: true
    });
    IgcDataLegendSeriesValueInfo.prototype.findByName = function (name) {
        return null;
    };
    /**
     * Converts this object to a string
    
    */
    IgcDataLegendSeriesValueInfo.prototype.toString = function () {
        var iv = this.i.s();
        return (iv);
    };
    return IgcDataLegendSeriesValueInfo;
}());
export { IgcDataLegendSeriesValueInfo };
