import * as tslib_1 from "tslib";
import { forwardRef, Input } from '@angular/core';
import { SplineType, SplineType_$type } from "./SplineType";
import { IgxHorizontalAnchoredCategorySeriesComponent } from "./igx-horizontal-anchored-category-series-component";
import { IgxAnchoredCategorySeriesComponent } from "./igx-anchored-category-series-component";
import { IgxCategorySeriesComponent } from "./igx-category-series-component";
import { IgxMarkerSeriesComponent } from "./igx-marker-series-component";
import { IgxSeriesComponent } from "./igx-series-component";
import { ensureEnum } from "igniteui-angular-core";
/**
 * Represents the base class for all IgxDataChartComponent spline series.
*/
export const IgxSplineSeriesBaseComponent_PROVIDERS = [{ provide: IgxHorizontalAnchoredCategorySeriesComponent, useExisting: forwardRef(() => IgxSplineSeriesBaseComponent) }, { provide: IgxAnchoredCategorySeriesComponent, useExisting: forwardRef(() => IgxSplineSeriesBaseComponent) }, { provide: IgxCategorySeriesComponent, useExisting: forwardRef(() => IgxSplineSeriesBaseComponent) }, { provide: IgxMarkerSeriesComponent, useExisting: forwardRef(() => IgxSplineSeriesBaseComponent) }, { provide: IgxSeriesComponent, useExisting: forwardRef(() => IgxSplineSeriesBaseComponent) }];
export class IgxSplineSeriesBaseComponent extends IgxHorizontalAnchoredCategorySeriesComponent {
    constructor() {
        super();
    }
    /**
                                 * @hidden
                                 */
    get i() {
        return this._implementation;
    }
    /**
     * Gets whether the current series shows an area or line shape.
    */
    get isAreaOrLine() {
        return this.i.ck;
    }
    /**
     * Gets or sets the type of spline to be rendered.
    *
    * ```html
    * <igx-data-chart
    *     [dataSource]="data">
    *     <igx-category-x-axis
    *         label="label"
    *         #xAxis>
    *     </igx-category-x-axis>
    *     <igx-numeric-y-axis
    *         #yAxis>
    *     </igx-numeric-y-axis>
    *     <igx-spline-area-series
    *         [xAxis]="xAxis"
    *         [yAxis]="yAxis"
    *         splineType="clamped"
    *         valueMemberPath="value">
    *     </igx-spline-area-series>
    * </igx-data-chart>
    * ```
    *
    * ```ts
    * this.series.splineType = SplineType.Clamped;
    * ```
    */
    get splineType() {
        return this.i.qj;
    }
    set splineType(v) {
        this.i.qj = ensureEnum(SplineType_$type, v);
    }
}
tslib_1.__decorate([
    Input(),
    tslib_1.__metadata("design:type", Number),
    tslib_1.__metadata("design:paramtypes", [Number])
], IgxSplineSeriesBaseComponent.prototype, "splineType", null);
//# sourceMappingURL=igx-spline-series-base-component.js.map