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.
*/
export class IgrBubbleSeries extends IgrScatterBase {
    createImplementation() {
        return new BubbleSeries();
    }
    get i() {
        return this._implementation;
    }
    constructor(props) {
        super(props);
    }
    /**
     * Gets or sets the radius mapping property for the current series object.
    */
    get radiusMemberPath() {
        return this.i.pb;
    }
    set radiusMemberPath(v) {
        this.i.pb = v;
    }
    /**
     * Gets or sets the radius size scale for the bubbles.
    */
    get radiusScale() {
        if (this.i.os == null) {
            return null;
        }
        if (!this.i.os.externalObject) {
            let e = new IgrSizeScale(null);
            e._implementation = this.i.os;
            this.i.os.externalObject = e;
        }
        return this.i.os.externalObject;
    }
    set radiusScale(v) {
        v == null ? this.i.os = null : this.i.os = v.i;
    }
    /**
     * Gets or sets the Label mapping property for the current series object.
    */
    get labelMemberPath() {
        return this.i.o8;
    }
    set labelMemberPath(v) {
        this.i.o8 = v;
    }
    /**
     * Gets or sets the fill mapping property for the current series object.
    */
    get fillMemberPath() {
        return this.i.o4;
    }
    set fillMemberPath(v) {
        this.i.o4 = v;
    }
    /**
     * Gets or sets the brush scale for the marker brush.
    */
    get fillScale() {
        if (this.i.oq == null) {
            return null;
        }
        if (!this.i.oq.externalObject) {
            let e = new IgrBrushScale(null);
            e._implementation = this.i.oq;
            this.i.oq.externalObject = e;
        }
        return this.i.oq.externalObject;
    }
    set fillScale(v) {
        v == null ? this.i.oq = null : this.i.oq = v.i;
    }
    /**
     * Overridden by derived series classes to indicate when markerless display is preferred or not.
    */
    get isMarkerlessDisplayPreferred() {
        return this.i.cy;
    }
}
