import { IgxSeriesComponent } from "./igx-series-component";
import { CalloutStyleUpdatingEventArgs as CalloutStyleUpdatingEventArgs_internal } from "./CalloutStyleUpdatingEventArgs";
import { brushToString, stringToBrush } from "igniteui-angular-core";
export class IgxCalloutStyleUpdatingEventArgs {
    constructor() {
        this._implementation = this.createImplementation();
        this._implementation.externalObject = this;
        this.onImplementationCreated();
    }
    createImplementation() {
        return new CalloutStyleUpdatingEventArgs_internal();
    }
    /**
     * @hidden
     */
    get i() {
        return this._implementation;
    }
    onImplementationCreated() {
    }
    _provideImplementation(i) {
        this._implementation = i;
        this._implementation.externalObject = this;
        this.onImplementationCreated();
    }
    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 item() {
        return this.i.item;
    }
    set item(v) {
        this.i.item = v;
    }
    get series() {
        if (this.i.series == null) {
            return null;
        }
        if (!this.i.series.externalObject) {
            let e = IgxSeriesComponent._createFromInternal(this.i.series);
            if (e) {
                e._implementation = this.i.series;
            }
            this.i.series.externalObject = e;
        }
        return this.i.series.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;
    }
}
