import { CalloutPlacementPositions_$type } from "./CalloutPlacementPositions";
import { IgxSeriesComponent } from "./igx-series-component";
import { CalloutRenderStyleUpdatingEventArgs as CalloutRenderStyleUpdatingEventArgs_internal } from "./CalloutRenderStyleUpdatingEventArgs";
import { ensureEnum, brushToString, stringToBrush } from "igniteui-angular-core";
var IgxCalloutRenderStyleUpdatingEventArgs = /** @class */ /*@__PURE__*/ (function () {
    function IgxCalloutRenderStyleUpdatingEventArgs() {
        this._implementation = this.createImplementation();
        this._implementation.externalObject = this;
        this.onImplementationCreated();
    }
    IgxCalloutRenderStyleUpdatingEventArgs.prototype.createImplementation = function () {
        return new CalloutRenderStyleUpdatingEventArgs_internal();
    };
    Object.defineProperty(IgxCalloutRenderStyleUpdatingEventArgs.prototype, "i", {
        /**
         * @hidden
         */
        get: function () {
            return this._implementation;
        },
        enumerable: false,
        configurable: true
    });
    IgxCalloutRenderStyleUpdatingEventArgs.prototype.onImplementationCreated = function () {
    };
    IgxCalloutRenderStyleUpdatingEventArgs.prototype._provideImplementation = function (i) {
        this._implementation = i;
        this._implementation.externalObject = this;
        this.onImplementationCreated();
    };
    Object.defineProperty(IgxCalloutRenderStyleUpdatingEventArgs.prototype, "xValue", {
        get: function () {
            return this.i.xValue;
        },
        set: function (v) {
            this.i.xValue = v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxCalloutRenderStyleUpdatingEventArgs.prototype, "yValue", {
        get: function () {
            return this.i.yValue;
        },
        set: function (v) {
            this.i.yValue = v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxCalloutRenderStyleUpdatingEventArgs.prototype, "labelPositionX", {
        get: function () {
            return this.i.labelPositionX;
        },
        set: function (v) {
            this.i.labelPositionX = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxCalloutRenderStyleUpdatingEventArgs.prototype, "labelPositionY", {
        get: function () {
            return this.i.labelPositionY;
        },
        set: function (v) {
            this.i.labelPositionY = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxCalloutRenderStyleUpdatingEventArgs.prototype, "targetPositionX", {
        get: function () {
            return this.i.targetPositionX;
        },
        set: function (v) {
            this.i.targetPositionX = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxCalloutRenderStyleUpdatingEventArgs.prototype, "targetPositionY", {
        get: function () {
            return this.i.targetPositionY;
        },
        set: function (v) {
            this.i.targetPositionY = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxCalloutRenderStyleUpdatingEventArgs.prototype, "actualPosition", {
        get: function () {
            return this.i.actualPosition;
        },
        set: function (v) {
            this.i.actualPosition = ensureEnum(CalloutPlacementPositions_$type, v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxCalloutRenderStyleUpdatingEventArgs.prototype, "item", {
        get: function () {
            return this.i.item;
        },
        set: function (v) {
            this.i.item = v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxCalloutRenderStyleUpdatingEventArgs.prototype, "series", {
        get: function () {
            var r = this.i.series;
            if (r == null) {
                return null;
            }
            if (!r.externalObject) {
                var e = IgxSeriesComponent._createFromInternal(r);
                if (e) {
                    e._implementation = r;
                }
                r.externalObject = e;
            }
            return r.externalObject;
        },
        set: function (v) {
            v == null ? this.i.series = null : this.i.series = v.i;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxCalloutRenderStyleUpdatingEventArgs.prototype, "background", {
        get: function () {
            return brushToString(this.i.background);
        },
        set: function (v) {
            this.i.background = stringToBrush(v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxCalloutRenderStyleUpdatingEventArgs.prototype, "textColor", {
        get: function () {
            return brushToString(this.i.textColor);
        },
        set: function (v) {
            this.i.textColor = stringToBrush(v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxCalloutRenderStyleUpdatingEventArgs.prototype, "outline", {
        get: function () {
            return brushToString(this.i.outline);
        },
        set: function (v) {
            this.i.outline = stringToBrush(v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxCalloutRenderStyleUpdatingEventArgs.prototype, "leaderBrush", {
        get: function () {
            return brushToString(this.i.leaderBrush);
        },
        set: function (v) {
            this.i.leaderBrush = stringToBrush(v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxCalloutRenderStyleUpdatingEventArgs.prototype, "strokeThickness", {
        get: function () {
            return this.i.strokeThickness;
        },
        set: function (v) {
            this.i.strokeThickness = +v;
        },
        enumerable: false,
        configurable: true
    });
    return IgxCalloutRenderStyleUpdatingEventArgs;
}());
export { IgxCalloutRenderStyleUpdatingEventArgs };
