import { DataAnnotationInfo as DataAnnotationInfo_internal } from "./DataAnnotationInfo";
import { brushToString, stringToBrush } from "igniteui-angular-core";
/**
 * Represents data annotation
*/
var IgxDataAnnotationInfo = /** @class */ /*@__PURE__*/ (function () {
    function IgxDataAnnotationInfo() {
        this._implementation = this.createImplementation();
        this._implementation.externalObject = this;
        this.onImplementationCreated();
        if (this._initializeAdapters) {
            this._initializeAdapters();
        }
    }
    IgxDataAnnotationInfo.prototype.createImplementation = function () {
        return new DataAnnotationInfo_internal();
    };
    Object.defineProperty(IgxDataAnnotationInfo.prototype, "i", {
        /**
         * @hidden
         */
        get: function () {
            return this._implementation;
        },
        enumerable: false,
        configurable: true
    });
    IgxDataAnnotationInfo.prototype.onImplementationCreated = function () {
    };
    IgxDataAnnotationInfo.prototype._provideImplementation = function (i) {
        this._implementation = i;
        this._implementation.externalObject = this;
        this.onImplementationCreated();
    };
    Object.defineProperty(IgxDataAnnotationInfo.prototype, "xAxisPixel", {
        get: function () {
            return this.i.xAxisPixel;
        },
        set: function (v) {
            this.i.xAxisPixel = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxDataAnnotationInfo.prototype, "yAxisPixel", {
        get: function () {
            return this.i.yAxisPixel;
        },
        set: function (v) {
            this.i.yAxisPixel = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxDataAnnotationInfo.prototype, "xAxisWindow", {
        get: function () {
            return this.i.xAxisWindow;
        },
        set: function (v) {
            this.i.xAxisWindow = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxDataAnnotationInfo.prototype, "yAxisWindow", {
        get: function () {
            return this.i.yAxisWindow;
        },
        set: function (v) {
            this.i.yAxisWindow = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxDataAnnotationInfo.prototype, "xAxisValue", {
        get: function () {
            return this.i.xAxisValue;
        },
        set: function (v) {
            this.i.xAxisValue = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxDataAnnotationInfo.prototype, "yAxisValue", {
        get: function () {
            return this.i.yAxisValue;
        },
        set: function (v) {
            this.i.yAxisValue = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxDataAnnotationInfo.prototype, "dataIndex", {
        get: function () {
            return this.i.dataIndex;
        },
        set: function (v) {
            this.i.dataIndex = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxDataAnnotationInfo.prototype, "dataValueX", {
        get: function () {
            return this.i.dataValueX;
        },
        set: function (v) {
            this.i.dataValueX = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxDataAnnotationInfo.prototype, "dataValueY", {
        get: function () {
            return this.i.dataValueY;
        },
        set: function (v) {
            this.i.dataValueY = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxDataAnnotationInfo.prototype, "dataLabelX", {
        get: function () {
            return this.i.dataLabelX;
        },
        set: function (v) {
            this.i.dataLabelX = v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxDataAnnotationInfo.prototype, "dataLabelY", {
        get: function () {
            return this.i.dataLabelY;
        },
        set: function (v) {
            this.i.dataLabelY = v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxDataAnnotationInfo.prototype, "xAxisLabel", {
        get: function () {
            return this.i.xAxisLabel;
        },
        set: function (v) {
            this.i.xAxisLabel = v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxDataAnnotationInfo.prototype, "yAxisLabel", {
        get: function () {
            return this.i.yAxisLabel;
        },
        set: function (v) {
            this.i.yAxisLabel = v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxDataAnnotationInfo.prototype, "textColor", {
        get: function () {
            return brushToString(this.i.textColor);
        },
        set: function (v) {
            this.i.textColor = stringToBrush(v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxDataAnnotationInfo.prototype, "background", {
        get: function () {
            return brushToString(this.i.background);
        },
        set: function (v) {
            this.i.background = stringToBrush(v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxDataAnnotationInfo.prototype, "borderColor", {
        get: function () {
            return brushToString(this.i.borderColor);
        },
        set: function (v) {
            this.i.borderColor = stringToBrush(v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxDataAnnotationInfo.prototype, "borderRadius", {
        get: function () {
            return this.i.borderRadius;
        },
        set: function (v) {
            this.i.borderRadius = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxDataAnnotationInfo.prototype, "borderThickness", {
        get: function () {
            return this.i.borderThickness;
        },
        set: function (v) {
            this.i.borderThickness = +v;
        },
        enumerable: false,
        configurable: true
    });
    IgxDataAnnotationInfo.prototype.findByName = function (name) {
        if (this.findEphemera) {
            if (name && name.indexOf("@@e:") == 0) {
                return this.findEphemera(name);
            }
        }
        return null;
    };
    return IgxDataAnnotationInfo;
}());
export { IgxDataAnnotationInfo };
