import * as tslib_1 from "tslib";
import { Input } from '@angular/core';
import { TypeRegistrar } from "igniteui-angular-core/ES2015/type";
import { IgxNumericXAxisComponent } from "igniteui-angular-charts/ES2015/igx-numeric-x-axis-component";
import { IgxNumericYAxisComponent } from "igniteui-angular-charts/ES2015/igx-numeric-y-axis-component";
import { IgxSeriesComponent } from './igx-series-component';
/**
 * Represents a IgxScatterTriangulationSeriesComponent base series.
*/
export const IgxScatterTriangulationSeriesComponent_PROVIDERS = [];
export class IgxScatterTriangulationSeriesComponent extends IgxSeriesComponent {
    constructor() {
        super(...arguments);
        //
        this._trianglesSource = null;
    }
    createImplementation() {
        return null;
    }
    ngOnInit() {
    }
    set trianglesSource(value) {
        this._trianglesSource = value;
        this.bindData();
    }
    get trianglesSource() {
        return this._trianglesSource;
    }
    bindData() {
        if (this.i != null && this.i !== undefined) {
            this.i.trianglesSource = this._trianglesSource;
        }
    }
    get i() {
        return this._implementation;
    }
    static _createFromInternal(internal) {
        if (!internal) {
            return null;
        }
        if (!internal.$type) {
            return null;
        }
        let name = internal.$type.name;
        let externalName = "Igx" + name + "Component";
        if (!TypeRegistrar.isRegistered(externalName)) {
            return null;
        }
        return TypeRegistrar.create(externalName);
    }
    /**
 * The name of the property from which to extract the X-coordinate for each item in the ItemsSource.
*/
    get xMemberPath() {
        return this.i.mq;
    }
    set xMemberPath(v) {
        this.i.mq = v;
    }
    /**
     * The name of the property from which to extract the Y-coordinate for each item in the ItemsSource.
    */
    get yMemberPath() {
        return this.i.mu;
    }
    set yMemberPath(v) {
        this.i.mu = v;
    }
    /**
     * The X-Axis for this series.
    */
    get xAxis() {
        if (this.i.ls == null) {
            return null;
        }
        if (!this.i.ls.externalObject) {
            let e = new IgxNumericXAxisComponent();
            e._implementation = this.i.ls;
            this.i.ls.externalObject = e;
        }
        return this.i.ls.externalObject;
    }
    set xAxis(v) {
        v == null ? this.i.ls = null : this.i.ls = v.i;
    }
    /**
     * The Y-Axis for this series.
    */
    get yAxis() {
        if (this.i.lt == null) {
            return null;
        }
        if (!this.i.lt.externalObject) {
            let e = new IgxNumericYAxisComponent();
            e._implementation = this.i.lt;
            this.i.lt.externalObject = e;
        }
        return this.i.lt.externalObject;
    }
    set yAxis(v) {
        v == null ? this.i.lt = null : this.i.lt = v.i;
    }
    /**
     * The name of the property of the TrianglesSource items which, for each triangle, contains the index of the first vertex point in the ItemsSource.
    */
    get triangleVertexMemberPath1() {
        return this.i.mi;
    }
    set triangleVertexMemberPath1(v) {
        this.i.mi = v;
    }
    /**
     * The name of the property of the TrianglesSource items which, for each triangle, contains the index of the second vertex point in the ItemsSource.
    */
    get triangleVertexMemberPath2() {
        return this.i.mk;
    }
    set triangleVertexMemberPath2(v) {
        this.i.mk = v;
    }
    /**
     * The name of the property of the TrianglesSource items which, for each triangle, contains the index of the third vertex point in the ItemsSource.
    */
    get triangleVertexMemberPath3() {
        return this.i.mm;
    }
    set triangleVertexMemberPath3(v) {
        this.i.mm = v;
    }
    /**
     * Gets whether or not this series is a shape series
    */
    get isShape() {
        return this.i.c5;
    }
    /**
 * Determine if object can be used as YAxis

* @param axis  * The object to check
*/
    canUseAsYAxis(axis) {
        let iv = this.i.ma(axis);
        return (iv);
    }
    /**
     * Determine if object can be used as XAxis
    
    * @param axis  * The object to check
    */
    canUseAsXAxis(axis) {
        let iv = this.i.l9(axis);
        return (iv);
    }
}
tslib_1.__decorate([
    Input(),
    tslib_1.__metadata("design:type", Array),
    tslib_1.__metadata("design:paramtypes", [Array])
], IgxScatterTriangulationSeriesComponent.prototype, "trianglesSource", null);
tslib_1.__decorate([
    Input(),
    tslib_1.__metadata("design:type", String),
    tslib_1.__metadata("design:paramtypes", [String])
], IgxScatterTriangulationSeriesComponent.prototype, "xMemberPath", null);
tslib_1.__decorate([
    Input(),
    tslib_1.__metadata("design:type", String),
    tslib_1.__metadata("design:paramtypes", [String])
], IgxScatterTriangulationSeriesComponent.prototype, "yMemberPath", null);
tslib_1.__decorate([
    Input(),
    tslib_1.__metadata("design:type", IgxNumericXAxisComponent),
    tslib_1.__metadata("design:paramtypes", [IgxNumericXAxisComponent])
], IgxScatterTriangulationSeriesComponent.prototype, "xAxis", null);
tslib_1.__decorate([
    Input(),
    tslib_1.__metadata("design:type", IgxNumericYAxisComponent),
    tslib_1.__metadata("design:paramtypes", [IgxNumericYAxisComponent])
], IgxScatterTriangulationSeriesComponent.prototype, "yAxis", null);
tslib_1.__decorate([
    Input(),
    tslib_1.__metadata("design:type", String),
    tslib_1.__metadata("design:paramtypes", [String])
], IgxScatterTriangulationSeriesComponent.prototype, "triangleVertexMemberPath1", null);
tslib_1.__decorate([
    Input(),
    tslib_1.__metadata("design:type", String),
    tslib_1.__metadata("design:paramtypes", [String])
], IgxScatterTriangulationSeriesComponent.prototype, "triangleVertexMemberPath2", null);
tslib_1.__decorate([
    Input(),
    tslib_1.__metadata("design:type", String),
    tslib_1.__metadata("design:paramtypes", [String])
], IgxScatterTriangulationSeriesComponent.prototype, "triangleVertexMemberPath3", null);
//# sourceMappingURL=igx-scatter-triangulation-series-component.js.map