import * as tslib_1 from "tslib";
import { IgrSizeScale } from "./igr-size-scale";
import { IgrBrushScale } from "./igr-brush-scale";
import { IgrScatterBase } from "./igr-scatter-base";
import { BubbleSeries } from "./BubbleSeries";
/**
 * Represents a IgxDataChartComponent bubble series.
*/
var IgrBubbleSeries = /** @class */ (function (_super) {
    tslib_1.__extends(IgrBubbleSeries, _super);
    function IgrBubbleSeries(props) {
        return _super.call(this, props) || this;
    }
    IgrBubbleSeries.prototype.createImplementation = function () {
        return new BubbleSeries();
    };
    Object.defineProperty(IgrBubbleSeries.prototype, "i", {
        get: function () {
            return this._implementation;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgrBubbleSeries.prototype, "radiusMemberPath", {
        /**
         * Gets or sets the radius mapping property for the current series object.
        */
        get: function () {
            return this.i.pb;
        },
        set: function (v) {
            this.i.pb = v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgrBubbleSeries.prototype, "radiusScale", {
        /**
         * Gets or sets the radius size scale for the bubbles.
        */
        get: function () {
            if (this.i.os == null) {
                return null;
            }
            if (!this.i.os.externalObject) {
                var e = new IgrSizeScale(null);
                e._implementation = this.i.os;
                this.i.os.externalObject = e;
            }
            return this.i.os.externalObject;
        },
        set: function (v) {
            v == null ? this.i.os = null : this.i.os = v.i;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgrBubbleSeries.prototype, "labelMemberPath", {
        /**
         * Gets or sets the Label mapping property for the current series object.
        */
        get: function () {
            return this.i.o8;
        },
        set: function (v) {
            this.i.o8 = v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgrBubbleSeries.prototype, "fillMemberPath", {
        /**
         * Gets or sets the fill mapping property for the current series object.
        */
        get: function () {
            return this.i.o4;
        },
        set: function (v) {
            this.i.o4 = v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgrBubbleSeries.prototype, "fillScale", {
        /**
         * Gets or sets the brush scale for the marker brush.
        */
        get: function () {
            if (this.i.oq == null) {
                return null;
            }
            if (!this.i.oq.externalObject) {
                var e = new IgrBrushScale(null);
                e._implementation = this.i.oq;
                this.i.oq.externalObject = e;
            }
            return this.i.oq.externalObject;
        },
        set: function (v) {
            v == null ? this.i.oq = null : this.i.oq = v.i;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgrBubbleSeries.prototype, "isMarkerlessDisplayPreferred", {
        /**
         * Overridden by derived series classes to indicate when markerless display is preferred or not.
        */
        get: function () {
            return this.i.cy;
        },
        enumerable: true,
        configurable: true
    });
    return IgrBubbleSeries;
}(IgrScatterBase));
export { IgrBubbleSeries };
