import { CalloutPlacementPositions_$type } from "./CalloutPlacementPositions";
import { IgrSeries } from "./igr-series";
import { CalloutRenderStyleUpdatingEventArgs as CalloutRenderStyleUpdatingEventArgs_internal } from "./CalloutRenderStyleUpdatingEventArgs";
import { ensureEnum, brushToString, stringToBrush } from "igniteui-react-core";
export class IgrCalloutRenderStyleUpdatingEventArgs {
    createImplementation() {
        return new CalloutRenderStyleUpdatingEventArgs_internal();
    }
    /**
     * @hidden
     */
    get i() {
        return this._implementation;
    }
    onImplementationCreated() {
    }
    constructor() {
        this._implementation = this.createImplementation();
        this._implementation.externalObject = this;
        this.onImplementationCreated();
        if (this._initializeAdapters) {
            this._initializeAdapters();
        }
    }
    _provideImplementation(i) {
        this._implementation = i;
        this._implementation.externalObject = this;
        this.onImplementationCreated();
        if (this._initializeAdapters) {
            this._initializeAdapters();
        }
    }
    get xValue() {
        return this.i.xValue;
    }
    set xValue(v) {
        this.i.xValue = v;
    }
    get yValue() {
        return this.i.yValue;
    }
    set yValue(v) {
        this.i.yValue = v;
    }
    get labelPositionX() {
        return this.i.labelPositionX;
    }
    set labelPositionX(v) {
        this.i.labelPositionX = +v;
    }
    get labelPositionY() {
        return this.i.labelPositionY;
    }
    set labelPositionY(v) {
        this.i.labelPositionY = +v;
    }
    get targetPositionX() {
        return this.i.targetPositionX;
    }
    set targetPositionX(v) {
        this.i.targetPositionX = +v;
    }
    get targetPositionY() {
        return this.i.targetPositionY;
    }
    set targetPositionY(v) {
        this.i.targetPositionY = +v;
    }
    get actualPosition() {
        return this.i.actualPosition;
    }
    set actualPosition(v) {
        this.i.actualPosition = ensureEnum(CalloutPlacementPositions_$type, v);
    }
    get item() {
        return this.i.item;
    }
    set item(v) {
        this.i.item = v;
    }
    get series() {
        const r = this.i.series;
        if (r == null) {
            return null;
        }
        if (!r.externalObject) {
            let e = IgrSeries._createFromInternal(r);
            if (e) {
                e._implementation = r;
            }
            r.externalObject = e;
        }
        return r.externalObject;
    }
    set series(v) {
        v == null ? this.i.series = null : this.i.series = v.i;
    }
    get background() {
        return brushToString(this.i.background);
    }
    set background(v) {
        this.i.background = stringToBrush(v);
    }
    get textColor() {
        return brushToString(this.i.textColor);
    }
    set textColor(v) {
        this.i.textColor = stringToBrush(v);
    }
    get outline() {
        return brushToString(this.i.outline);
    }
    set outline(v) {
        this.i.outline = stringToBrush(v);
    }
    get leaderBrush() {
        return brushToString(this.i.leaderBrush);
    }
    set leaderBrush(v) {
        this.i.leaderBrush = stringToBrush(v);
    }
    get strokeThickness() {
        return this.i.strokeThickness;
    }
    set strokeThickness(v) {
        this.i.strokeThickness = +v;
    }
}
