import { Type } from '@angular/core';
import { IgDataTemplate } from "igniteui-angular-core";
import { MarkerType } from "./MarkerType";
import { IgxSeriesComponent } from "./igx-series-component";
import { MarkerSeries } from "./MarkerSeries";
/**
 * Represents the base class for series containing markers.
*
* MarkerSeries represents the base class for series containing markers.
*
* Example:
*
* ```html
* <igx-data-chart
*     [dataSource]="data">
* 	<igx-category-x-axis
*         label="label"
*         #xAxis
*         >
*       </igx-category-x-axis>
*       <igx-numeric-y-axis
*         minimumValue="0"
*         #yAxis>
*       </igx-numeric-y-axis>
* 	 <igx-column-series
*         #series
*         [xAxis]="xAxis"
*         [yAxis]="yAxis"
*      valueMemberPath="value">
*      </igx-column-series>
* </igx-data-chart>
* ```
*
* ```ts
* let series: IgxMarkerSeriesComponent = new IgxMarkerSeriesComponent();
* series.xAxis = this.xAxis;
* series.yAxis = this.yAxis;
* series.valueMemberPath = "value";
* this.chart.series.add(series);
* ```
*/
export declare const IgxMarkerSeriesComponent_PROVIDERS: {
    provide: typeof IgxSeriesComponent;
    useExisting: Type<any>;
}[];
export declare abstract class IgxMarkerSeriesComponent extends IgxSeriesComponent {
    /**
                                 * @hidden
                                 */
    readonly i: MarkerSeries;
    constructor();
    /**
     * Returns whether the current series supports visual markers.
    *
    * `hasMarkers` property is overriden, it returns whether the current series supports visual markers. You can use it like this:
    *
    * ```ts
    *  let gotMarkers: boolean = this.series.hasMarkers;
    * ```
    */
    readonly hasMarkers: boolean;
    /**
     * Gets or sets the marker type for the current series object.
     * If the MarkerTemplate property is set, the setting of the MarkerType property will be ignored.
    *
    * `markerType` property gets or sets the marker type for the current series object. For example, you can set it like this:
    *
    * ```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-column-series
    *         #series
    *         [xAxis]="xAxis"
    *         [yAxis]="yAxis"
    *      valueMemberPath="value"
    * 	 markerType = "circle">
    *      </igx-column-series>
    * </igx-data-chart>
    * ```
    *
    * ```ts
    * this.series.markerType = "circle";
    * ```
    */
    markerType: MarkerType;
    /**
     * Gets or sets the MarkerTemplate for the current series object.
    *
    * `markerTemplate` property gets or sets the MarkerTemplate for the current series object. For example, you can use it like this:
    *
    * ```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-column-series
    *         #series
    *         [xAxis]="xAxis"
    *         [yAxis]="yAxis"
    *      valueMemberPath="value"
    * 	 markerTemplate="circleMarkerTemplate">
    *      </igx-column-series>
    * </igx-data-chart>
    * ```
    */
    markerTemplate: IgDataTemplate;
    /**
     * Gets the effective marker template for the current series object.
    *
    * `actualMarkerTemplate` property gets the effective marker template for the current series object. You can use it like this:
    *
    * ```ts
    *  let effectiveMarkerTemplate: IgxDataTemplate = this.series.actualMarkerTemplate;
    * ```
    */
    actualMarkerTemplate: IgDataTemplate;
    /**
     * Gets or sets the brush that specifies how the current series object's marker interiors are painted.
    *
    * `markerBrush` property gets or sets the brush that specifies how the current series object's marker interiors are painted. You can use it like this:
    *
    * ```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-column-series
    *         #series
    *         [xAxis]="xAxis"
    *         [yAxis]="yAxis"
    *      valueMemberPath="value"
    * 	 markerBrush = "blue">
    *      </igx-column-series>
    * </igx-data-chart>
    * ```
    *
    * ```ts
    * this.series.markerBrush = "red";
    * ```
    */
    markerBrush: string;
    /**
     * Gets the effective marker brush for the current series object.
    *
    * `actualMarkerBrush` property gets the effective marker brush for the current series object. For example, you can use it like this:
    *
    * ```ts
    *  let effectiveMarkerBrush: string = this.series.actualMarkerBrush;
    *
    * ```
    */
    actualMarkerBrush: string;
    /**
     * Gets or sets the brush that specifies how the current series object's marker outlines are painted.
    *
    * `markerOutline` property gets or sets the brush that specifies how the current series object's marker outlines are painted. You can use it like this:
    *
    * ```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-column-series
    *         #series
    *         [xAxis]="xAxis"
    *         [yAxis]="yAxis"
    *      valueMemberPath="value"
    * 	 markerOutline = "blue">
    *      </igx-column-series>
    * </igx-data-chart>
    * ```
    *
    * ```ts
    * this.series.markerOutline = "red";
    * ```
    */
    markerOutline: string;
    /**
     * Gets the effective marker outline for the current series object.
    *
    *     `ActualMarkerOutline` property gets the effective marker outline for the current series object. You can use it like this:
    *
    * ```ts
    *  let effectiveMarkerOutline: string = this.series.actualMarkerOutline;
    *
    * ```
    */
    actualMarkerOutline: string;
}
