import * as React from 'react';
import { IgRect } from "igniteui-react-core/ES5/IgRect";
import { IgPoint } from "igniteui-react-core/ES5/IgPoint";
import { ChartHitTestMode } from "./ChartHitTestMode";
import { WindowResponse } from "./WindowResponse";
import { Visibility } from "igniteui-react-core/ES5/Visibility";
import { InteractionState } from "igniteui-react-core/ES5/InteractionState";
import { ModifierKeys } from "igniteui-react-core/ES5/ModifierKeys";
import { HorizontalAlignment } from "igniteui-react-core/ES5/HorizontalAlignment";
import { ChartCursorEventArgs } from "./igr-chart-cursor-event-args";
import { DataChartMouseButtonEventArgs } from "./igr-data-chart-mouse-button-event-args";
import { ChartMouseEventArgs } from "./igr-chart-mouse-event-args";
import { RectChangedEventArgs } from "igniteui-react-core/ES5/igr-rect-changed-event-args";
import { IgrSeries } from "./igr-series";
import { SeriesViewer } from "./SeriesViewer";
/**
 * Represents a control for viewing series objects.
*/
export declare abstract class IgrSeriesViewer<P extends IIgrSeriesViewerProps = IIgrSeriesViewerProps> extends React.Component<P, {}> {
    protected createImplementation(): SeriesViewer;
    protected _implementation: any;
    readonly i: SeriesViewer;
    private onImplementationCreated;
    constructor(props: P);
    private _hasUserValues;
    protected readonly hasUserValues: Set<string>;
    componentDidMount(): void;
    shouldComponentUpdate(nextProps: any, nextState: any): boolean;
    render(): any;
    /**
     * Gets or sets the cross hair point (in world coordinates)
     * Either or both of the crosshair point's X and Y may be set to double.NaN, in which
     * case the relevant crosshair line is hidden.
    *
    * ```html
    * <igx-data-chart
    *     [dataSource]="data"
    *     crosshairVisibility="visible"
    *     crosshairPoint={x:.8,y:.2}>
    *     <igx-category-x-axis
    *         label="label"
    *         #xAxis>
    *     </igx-category-x-axis>
    *     <igx-numeric-y-axis
    *         #yAxis>
    *     </igx-numeric-y-axis>
    *     <igx-line-series
    *         [xAxis]="xAxis"
    *         [yAxis]="yAxis"
    *         valueMemberPath="value">
    *     </igx-line-series>
    * </igx-data-chart>
    * ```
    *
    * ```ts
    * this.chart.crosshairPoint = {x:.8,y:.2};
    * ```
    */
    crosshairPoint: IgPoint;
    /**
     * Gets or sets whether the series animations should be allowed when a range change has been detected on an axis.
    *
    * ```html
    * <igx-data-chart
    *     [dataSource]="data"
    *     animateSeriesWhenAxisRangeChanges=true>
    *     <igx-category-x-axis
    *         label="label"
    *         #xAxis>
    *     </igx-category-x-axis>
    *     <igx-numeric-y-axis
    *         #yAxis>
    *     </igx-numeric-y-axis>
    *     <igx-column-series
    *         [xAxis]="xAxis"
    *         [yAxis]="yAxis"
    *         valueMemberPath="value"
    *         transitionInMode="accordionFromBottom"
    *         isTransitionInEnabled=true
    *         transitionInSpeedType="indexScaled"
    *         transitionDuration=1000>
    *     </igx-column-series>
    * </igx-data-chart>
    * ```
    *
    * ```ts
    * this.chart.animateSeriesWhenAxisRangeChanges = true;
    * ```
    */
    animateSeriesWhenAxisRangeChanges: boolean;
    /**
     * Gets the viewport rectangle associated with the SeriesViewer, the physical dimensions of the plot area.
    *
    * ```ts
    * let viewPortRect: IgxRect = this.chart.viewportRect;
    * ```
    */
    readonly viewportRect: IgRect;
    /**
     * Gets the EffectiveViewport rectangle, representing the effective viewport area after margins have been subtracted.
    *
    *  ``ts
    * let viewport: IgxRect = this.chart.effectiveViewport;
    *
    * ```
    *
    * ```
    */
    effectiveViewport: IgRect;
    /**
     * Represents the subset area within the viewport into which content should be mapped.
     * This is the projection of the current EffectiveViewport into the viewport at current zoom level.
    *
    * ```ts
    * let contentViewport: IgxRect = this.chart.contentViewport;
    * ```
    */
    readonly contentViewport: IgRect;
    /**
     * A rectangle representing the portion of the SeriesViewer currently in view.
     * A rectangle at X=0, Y=0 with a Height and Width of 1 implies the entire plotting area is in view.  A Height and Width of .5 would imply that the view is halfway zoomed in.
    *
    * You can set the `windowRect` to zoom in on an area of interest in the chart.
    *
    * ```ts
    * this.chart.windowRect = {left:0, top:1, width: .5, height: .5};
    * ```
    */
    windowRect: IgRect;
    /**
     * Gets or sets whether the series viewer should use cached tiles during zooms rather than the default live content.
    */
    useTiledZooming: boolean;
    /**
     * Gets or sets whether the series viewer should prefer selecting higher resolution tiles over lower resolution tiles when performing tile zooming. Setting this to true will lower performance but increase quality.
    */
    preferHigherResolutionTiles: boolean;
    /**
     * Gets or sets the maximum number of zoom tiles that the series viewer should cache while in tiled zooming mode.
    */
    zoomTileCacheSize: number;
    /**
     * Gets or sets the duration the highlighting/de-highlighting effects.
    */
    highlightingTransitionDuration: number;
    /**
     * Gets or sets the whether the series viewer can allow the page to pan if a control pan is not possible in the requested direction.
    */
    isPagePanningAllowed: boolean;
    /**
     * Determines the method of hit testing used when mousing over elements in the chart.
    *
    * ```ts
    * this.chart.contentHitTestMode = ChartHitTestMode.Computational;
    * ```
    */
    contentHitTestMode: ChartHitTestMode;
    /**
     * Resolved method of hit testing used when the pointer is over elements in the chart.
    *
    * ```ts
    * let actualContentHitTestMode: ChartHitTestMode  =this.chart.actualContentHitTestMode;
    * ```
    */
    actualContentHitTestMode: ChartHitTestMode;
    /**
     * Gets or sets whether all surface interactions with the plot area should be disabled.
    *
    * ```html
    * <igx-data-chart
    *     [dataSource]="data"
    *     isSurfaceInteractionDisabled=true>
    *     <igx-category-x-axis
    *         label="label"
    *         #xAxis>
    *     </igx-category-x-axis>
    *     <igx-numeric-y-axis
    *         #yAxis>
    *     </igx-numeric-y-axis>
    *     <igx-line-series
    *         [xAxis]="xAxis"
    *         [yAxis]="yAxis"
    *         valueMemberPath="value">
    *     </igx-line-series>
    * </igx-data-chart>
    * ```
    */
    isSurfaceInteractionDisabled: boolean;
    /**
     * Indicates if this SeriesViewer is a map.
    */
    readonly isMap: boolean;
    /**
     * The response to user panning and zooming: whether to update the view immediately while the user action is happening, or to defer the update to after the user action is complete.  The user action will be an action such as a mouse drag which causes panning and/or zooming to occur.
    *
    * ```ts
    * <igx-data-chart
    *     [dataSource]="data"
    *     isHorizontalZoomEnabled=true
    *     windowResponse="deferred">
    *     <igx-category-x-axis
    *         label="label"
    *         #xAxis>
    *     </igx-category-x-axis>
    *     <igx-numeric-y-axis
    *         #yAxis>
    *     </igx-numeric-y-axis>
    *     <igx-line-series
    *         [xAxis]="xAxis"
    *         [yAxis]="yAxis"
    *         valueMemberPath="value">
    *     </igx-line-series>
    * </igx-data-chart>
    * ```
    */
    windowResponse: WindowResponse;
    /**
     * Sets or gets the minimum width that the window rect is allowed to reach before being clamped.
     * Decrease this value if you want to allow for further zooming into the viewer.
     * If this value is lowered too much it can cause graphical corruption due to floating point arithmetic inaccuracy.
    *
    * ```html
    * <igx-data-chart
    *     [dataSource]="data"
    *     isHorizontalZoomEnabled=true
    *     windowRectMinWidth=.2>
    *     <igx-category-x-axis
    *         label="label"
    *         #xAxis>
    *     </igx-category-x-axis>
    *     <igx-numeric-y-axis
    *         #yAxis>
    *     </igx-numeric-y-axis>
    *     <igx-line-series
    *         [xAxis]="xAxis"
    *         [yAxis]="yAxis"
    *         valueMemberPath="value">
    *     </igx-line-series>
    * </igx-data-chart>
    * ```
    */
    windowRectMinWidth: number;
    /**
     * Sets or gets the Synchronization channel to use for the SeriesViewer.
    *
    * Synchronization is the coordination of zooming, panning and crosshairs events between multiple charts. Multiple chart controls can be synchronized horizontally (along X-Axis), vertically (along Y-Axis), or both. If you want to synchronize a set of charts, assign them the same name to the `syncChannel` and then specify whether or not synchronize chart horizontally and/or vertically.
    *
    * ```html
    * <igx-data-chart
    *     [dataSource]="data"
    *     isHorizontalZoomEnabled=true
    *     isVerticalZoomEnabled=true
    *     syncChannel="channel1"
    *     synchronizeHorizontally=true
    *     synchronizeVertically=true>
    *     <igx-category-x-axis
    *         label="label"
    *         #xAxis>
    *     </igx-category-x-axis>
    *     <igx-numeric-y-axis
    *         #yAxis>
    *     </igx-numeric-y-axis>
    *     <igx-line-series
    *         [xAxis]="xAxis"
    *         [yAxis]="yAxis"
    *         valueMemberPath="value">
    *     </igx-line-series>
    * </igx-data-chart>
    * <igx-data-chart
    *     [dataSource]="data"
    *     syncChannel="channel1"
    *     synchronizeHorizontally=true
    *     synchronizeVertically=true>
    *     <igx-category-x-axis
    *         label="label"
    *         #xAxis2>
    *     </igx-category-x-axis>
    *     <igx-numeric-y-axis
    *         #yAxis2>
    *     </igx-numeric-y-axis>
    *     <igx-line-series
    *         [xAxis]="xAxis2"
    *         [yAxis]="yAxis2"
    *         valueMemberPath="value2">
    *     </igx-line-series>
    * </igx-data-chart>
    * ```
    */
    syncChannel: string;
    /**
     * The visibility of the OverviewPlusDetailPane.
    */
    overviewPlusDetailPaneVisibility: Visibility;
    /**
     * Gets or sets the current SeriesViewer's crosshair visibility override.
    *
    * ```html
    * <igx-data-chart
    *     [dataSource]="data"
    *     crosshairVisibility="visible">
    *     <igx-category-x-axis
    *         label="label"
    *         #xAxis>
    *     </igx-category-x-axis>
    *     <igx-numeric-y-axis
    *         #yAxis>
    *     </igx-numeric-y-axis>
    *     <igx-line-series
    *         [xAxis]="xAxis"
    *         [yAxis]="yAxis"
    *         valueMemberPath="value">
    *     </igx-line-series>
    * </igx-data-chart>
    * ```
    *
    * ```ts
    * this.chart.crosshairVisibility = Visibility.Visible;
    * ```
    */
    crosshairVisibility: Visibility;
    /**
     * Gets or sets the brush used as the background for the current SeriesViewer object's plot area.
    *
    * ```html
    * <igx-data-chart
    *     [dataSource]="data"
    *     plotAreaBackground="#F0F8FF">
    *     <igx-category-x-axis
    *         label="label"
    *         #xAxis>
    *     </igx-category-x-axis>
    *     <igx-numeric-y-axis
    *         #yAxis>
    *     </igx-numeric-y-axis>
    *     <igx-line-series
    *         [xAxis]="xAxis"
    *         [yAxis]="yAxis"
    *         valueMemberPath="value">
    *     </igx-line-series>
    * </igx-data-chart>
    * ```
    */
    plotAreaBackground: string;
    /**
     * Gets or sets the DefaultInteraction property.
     * The default interaction state defines the SeriesViewer's response to mouse events.
    *
    * ```html
    * <igx-data-chart
    *     [dataSource]="data"
    *     isHorizontalZoomEnabled=true
    *     defaultInteraction="dragPan">
    *     <igx-category-x-axis
    *         label="label"
    *         #xAxis>
    *     </igx-category-x-axis>
    *     <igx-numeric-y-axis
    *         #yAxis>
    *     </igx-numeric-y-axis>
    *     <igx-line-series
    *         [xAxis]="xAxis"
    *         [yAxis]="yAxis"
    *         valueMemberPath="value">
    *     </igx-line-series>
    * </igx-data-chart>
    * ```
    *
    * ```ts
    * this.chart.defaultInteraction = InteractionState.DragPan;
    * ```
    */
    defaultInteraction: InteractionState;
    /**
     * Gets or sets the current SeriesViewer's DragModifier property.
    *
    * `dragModifier` is useful to enable zooming when zooming is not the default interaction.
    *
    * ```html
    * <igx-data-chart
    *     [dataSource]="data"
    *     isHorizontalZoomEnabled=true
    *     defaultInteraction="dragPan"
    *     dragModifier="alt">
    *     <igx-category-x-axis
    *         label="label"
    *         #xAxis>
    *     </igx-category-x-axis>
    *     <igx-numeric-y-axis
    *         #yAxis>
    *     </igx-numeric-y-axis>
    *     <igx-line-series
    *         [xAxis]="xAxis"
    *         [yAxis]="yAxis"
    *         valueMemberPath="value">
    *     </igx-line-series>
    * </igx-data-chart>
    * ```
    *
    * ```ts
    * this.chart.dragModifier = ModifierKeys.Alt;
    * ```
    */
    dragModifier: ModifierKeys;
    /**
     * Gets or sets the current SeriesViewer's PanModifier property.
    *
    * `panModifier` is useful to enable panning when panning is not the default interaction.
    *
    * ```html
    * <igx-data-chart
    *     [dataSource]="data"
    *     isHorizontalZoomEnabled=true
    *     defaultInteraction="dragZoom"
    *     panModifier="alt">
    *     <igx-category-x-axis
    *         label="label"
    *         #xAxis>
    *     </igx-category-x-axis>
    *     <igx-numeric-y-axis
    *         #yAxis>
    *     </igx-numeric-y-axis>
    *     <igx-line-series
    *         [xAxis]="xAxis"
    *         [yAxis]="yAxis"
    *         valueMemberPath="value">
    *     </igx-line-series>
    * </igx-data-chart>
    * ```
    *
    * ```ts
    * this.chart.panModifier = ModifierKeys.Alt;
    * ```
    */
    panModifier: ModifierKeys;
    /**
     * Gets or sets the preview rectangle.
     * The preview rectangle may be set to Rect.Empty, in which case the visible preview
     * strokePath is hidden.
    *
    * `previewRect` can be used to highlight an area of importance.
    *
    * ```ts
    * this.chart.previewRect = {left:0,top:0,height:.5,width:.5};
    * ```
    */
    previewRect: IgRect;
    /**
     * A number between 0 and 1 determining the position of the horizontal scroll.
     * This property is effectively a shortcut to the X position of the WindowRect property.
    *
    * ```ts
    * this.chart.windowPositionHorizontal = .2;
    * ```
    */
    windowPositionHorizontal: number;
    /**
     * A number between 0 and 1 determining the position of the vertical scroll.
     * This property is effectively a shortcut to the Y position of the WindowRect property.
    *
    * ```ts
    * this.chart.windowPositionVertical = .2;
    * ```
    */
    windowPositionVertical: number;
    /**
     * Text to display above the plot area.
    *
    * ```html
    * <igx-data-chart
    *     [dataSource]="data"
    *     title="Items Sold">
    *     <igx-category-x-axis
    *         label="label"
    *         #xAxis>
    *     </igx-category-x-axis>
    *     <igx-numeric-y-axis
    *         #yAxis>
    *     </igx-numeric-y-axis>
    *     <igx-column-series
    *         [xAxis]="xAxis"
    *         [yAxis]="yAxis"
    *         valueMemberPath="value">
    *     </igx-column-series>
    * </igx-data-chart>
    * ```
    */
    chartTitle: string;
    /**
     * Gets or sets the TitleHorizontalAlignment property.
    *
    * ```html
    * <igx-data-chart
    *     [dataSource]="data"
    *     title="Items Sold"
    *     subtitle="date of sale: 1/1/2018"
    *     titleHorizontalAlignment="left"
    *     subtitleHorizontalAlignment="left">
    *     <igx-category-x-axis
    *         label="label"
    *         #xAxis>
    *     </igx-category-x-axis>
    *     <igx-numeric-y-axis
    *         #yAxis>
    *     </igx-numeric-y-axis>
    *     <igx-column-series
    *         [xAxis]="xAxis"
    *         [yAxis]="yAxis"
    *         valueMemberPath="value">
    *     </igx-column-series>
    * </igx-data-chart>
    * ```
    */
    titleHorizontalAlignment: HorizontalAlignment;
    /**
     * Gets or sets the SubtitleHorizontalAlignment property.
    *
    * ```html
    * <igx-data-chart
    *     [dataSource]="data"
    *     title="Items Sold"
    *     subtitle="Date of Sale: 1/1/2018"
    *     titleHorizontalAlignment="left"
    *     subtitleHorizontalAlignment="left">
    *     <igx-category-x-axis
    *         label="label"
    *         #xAxis>
    *     </igx-category-x-axis>
    *     <igx-numeric-y-axis
    *         #yAxis>
    *     </igx-numeric-y-axis>
    *     <igx-column-series
    *         [xAxis]="xAxis"
    *         [yAxis]="yAxis"
    *         valueMemberPath="value">
    *     </igx-column-series>
    * </igx-data-chart>
    * ```
    */
    subtitleHorizontalAlignment: HorizontalAlignment;
    /**
     * Font settings for the title.
    */
    titleTextStyle: string;
    /**
     * Font settings for the subtitle.
    */
    subtitleTextStyle: string;
    /**
     * Gets or sets the Color used for the Title Text.
    *
    * ```html
    * <igx-data-chart
    *     [dataSource]="data"
    *     title="Items Sold"
    *     subtitle="date of sale: 1/1/2018"
    *     titleTextColor="blue">
    *     <igx-category-x-axis
    *         label="label"
    *         #xAxis>
    *     </igx-category-x-axis>
    *     <igx-numeric-y-axis
    *         #yAxis>
    *     </igx-numeric-y-axis>
    *     <igx-column-series
    *         [xAxis]="xAxis"
    *         [yAxis]="yAxis"
    *         valueMemberPath="value">
    *     </igx-column-series>
    * </igx-data-chart>
    * ```
    */
    titleTextColor: string;
    /**
     * Gets or sets the Color used for the Subtitle Text.
    *
    * ```html
    * <igx-data-chart
    *     [dataSource]="data"
    *     title="Items Sold"
    *     subtitle="Date of Sale: 1/1/2018"
    *     subtitleTextColor="blue">
    *     <igx-category-x-axis
    *         label="label"
    *         #xAxis>
    *     </igx-category-x-axis>
    *     <igx-numeric-y-axis
    *         #yAxis>
    *     </igx-numeric-y-axis>
    *     <igx-column-series
    *         [xAxis]="xAxis"
    *         [yAxis]="yAxis"
    *         valueMemberPath="value">
    *     </igx-column-series>
    * </igx-data-chart>
    * ```
    */
    subtitleTextColor: string;
    /**
     * Margin applied above the title.
    *
    * ```html
    * <igx-data-chart
    *     [dataSource]="data"
    *     title="Items Sold"
    *     titleLeftMarging=10
    *     titleTopMargin=10
    *     titleRightMargin=10
    *     titleBottomMargin=20>
    *     <igx-category-x-axis
    *         label="label"
    *         #xAxis>
    *     </igx-category-x-axis>
    *     <igx-numeric-y-axis
    *         #yAxis>
    *     </igx-numeric-y-axis>
    *     <igx-column-series
    *         [xAxis]="xAxis"
    *         [yAxis]="yAxis"
    *         valueMemberPath="value">
    *     </igx-column-series>
    * </igx-data-chart>
    * ```
    */
    titleTopMargin: number;
    /**
     * Margin applied to the left of the title.
    *
    * ```html
    * <igx-data-chart
    *     [dataSource]="data"
    *     title="Items Sold"
    *     titleLeftMarging=10
    *     titleTopMargin=10
    *     titleRightMargin=10
    *     titleBottomMargin=20>
    *     <igx-category-x-axis
    *         label="label"
    *         #xAxis>
    *     </igx-category-x-axis>
    *     <igx-numeric-y-axis
    *         #yAxis>
    *     </igx-numeric-y-axis>
    *     <igx-column-series
    *         [xAxis]="xAxis"
    *         [yAxis]="yAxis"
    *         valueMemberPath="value">
    *     </igx-column-series>
    * </igx-data-chart>
    * ```
    */
    titleLeftMargin: number;
    /**
     * Margin applied to the right of the title.
    *
    * ```html
    * <igx-data-chart
    *     [dataSource]="data"
    *     title="Items Sold"
    *     titleLeftMarging=10
    *     titleTopMargin=10
    *     titleRightMargin=10
    *     titleBottomMargin=20>
    *     <igx-category-x-axis
    *         label="label"
    *         #xAxis>
    *     </igx-category-x-axis>
    *     <igx-numeric-y-axis
    *         #yAxis>
    *     </igx-numeric-y-axis>
    *     <igx-column-series
    *         [xAxis]="xAxis"
    *         [yAxis]="yAxis"
    *         valueMemberPath="value">
    *     </igx-column-series>
    * </igx-data-chart>
    * ```
    */
    titleRightMargin: number;
    /**
     * Margin applied below the title.
    *
    * ```html
    * <igx-data-chart
    *     [dataSource]="data"
    *     title="Items Sold"
    *     titleLeftMarging=10
    *     titleTopMargin=10
    *     titleRightMargin=10
    *     titleBottomMargin=20>
    *     <igx-category-x-axis
    *         label="label"
    *         #xAxis>
    *     </igx-category-x-axis>
    *     <igx-numeric-y-axis
    *         #yAxis>
    *     </igx-numeric-y-axis>
    *     <igx-column-series
    *         [xAxis]="xAxis"
    *         [yAxis]="yAxis"
    *         valueMemberPath="value">
    *     </igx-column-series>
    * </igx-data-chart>
    * ```
    */
    titleBottomMargin: number;
    /**
     * Margin applied above the subtitle.
    *
    * ```html
    * <igx-data-chart
    *     [dataSource]="data"
    *     title="Items Sold"
    *     subtitle="date of sale: 1/1/2018"
    *     subtitleLeftMarging=10
    *     subtitleTopMargin=10
    *     subtitleRightMargin=10
    *     subtitleBottomMargin=20>
    *     <igx-category-x-axis
    *         label="label"
    *         #xAxis>
    *     </igx-category-x-axis>
    *     <igx-numeric-y-axis
    *         #yAxis>
    *     </igx-numeric-y-axis>
    *     <igx-column-series
    *         [xAxis]="xAxis"
    *         [yAxis]="yAxis"
    *         valueMemberPath="value">
    *     </igx-column-series>
    * </igx-data-chart>
    * ```
    */
    subtitleTopMargin: number;
    /**
     * Margin applied to the left of the subtitle.
    *
    * ```html
    * <igx-data-chart
    *     [dataSource]="data"
    *     title="Items Sold"
    *     subtitle="date of sale: 1/1/2018"
    *     subtitleLeftMarging=10
    *     subtitleTopMargin=10
    *     subtitleRightMargin=10
    *     subtitleBottomMargin=20>
    *     <igx-category-x-axis
    *         label="label"
    *         #xAxis>
    *     </igx-category-x-axis>
    *     <igx-numeric-y-axis
    *         #yAxis>
    *     </igx-numeric-y-axis>
    *     <igx-column-series
    *         [xAxis]="xAxis"
    *         [yAxis]="yAxis"
    *         valueMemberPath="value">
    *     </igx-column-series>
    * </igx-data-chart>
    * ```
    */
    subtitleLeftMargin: number;
    /**
     * Margin applied to the right of the subtitle.
    *
    * ```html
    * <igx-data-chart
    *     [dataSource]="data"
    *     title="Items Sold"
    *     subtitle="date of sale: 1/1/2018"
    *     subtitleLeftMarging=10
    *     subtitleTopMargin=10
    *     subTitleRightMargin=10
    *     subtitleBottomMargin=20>
    *     <igx-category-x-axis
    *         label="label"
    *         #xAxis>
    *     </igx-category-x-axis>
    *     <igx-numeric-y-axis
    *         #yAxis>
    *     </igx-numeric-y-axis>
    *     <igx-column-series
    *         [xAxis]="xAxis"
    *         [yAxis]="yAxis"
    *         valueMemberPath="value">
    *     </igx-column-series>
    * </igx-data-chart>
    * ```
    */
    subtitleRightMargin: number;
    /**
     * Margin applied below the subtitle.
    *
    * ```html
    * <igx-data-chart
    *     [dataSource]="data"
    *     title="Items Sold"
    *     subtitle="date of sale: 1/1/2018"
    *     subtitleLeftMarging=10
    *     subtitleTopMargin=10
    *     subtitleRightMargin=10
    *     subtitleBottomMargin=20>
    *     <igx-category-x-axis
    *         label="label"
    *         #xAxis>
    *     </igx-category-x-axis>
    *     <igx-numeric-y-axis
    *         #yAxis>
    *     </igx-numeric-y-axis>
    *     <igx-column-series
    *         [xAxis]="xAxis"
    *         [yAxis]="yAxis"
    *         valueMemberPath="value">
    *     </igx-column-series>
    * </igx-data-chart>
    * ```
    */
    subtitleBottomMargin: number;
    /**
     * Gets or sets the Subtitle property.
     * The Title property defines the Subtitle of the chart
    *
    * ```html
    * <igx-data-chart
    *     [dataSource]="data"
    *     title="Items Sold"
    *     subtitle="Date of Sale: 1/1/2018">
    *     <igx-category-x-axis
    *         label="label"
    *         #xAxis>
    *     </igx-category-x-axis>
    *     <igx-numeric-y-axis
    *         #yAxis>
    *     </igx-numeric-y-axis>
    *     <igx-column-series
    *         [xAxis]="xAxis"
    *         [yAxis]="yAxis"
    *         valueMemberPath="value">
    *     </igx-column-series>
    * </igx-data-chart>
    * ```
    */
    subtitle: string;
    /**
     * Gets or sets the channel with which to synchronize.
    *
    * Synchronization is the coordination of zooming, panning and crosshairs events between multiple charts. Multiple chart controls can be synchronized horizontally (along X-Axis), vertically (along Y-Axis), or both. If you want to synchronize a set of charts, assign them the same name to the `SyncChannel` and then specify whether or not synchronize chart horizontally and/or vertically.
    */
    SyncChannel: string;
    /**
     * Gets or sets the bool used to display the window preview shadow.
    *
    * Synchronization is the coordination of zooming, panning and crosshairs events between multiple charts. Multiple chart controls can be synchronized horizontally (along X-Axis), vertically (along Y-Axis), or both. If you want to synchronize a set of charts, assign them the same name to the `SyncChannel` and then specify whether or not synchronize chart horizontally and/or vertically.
    */
    SynchronizeVertically: boolean;
    /**
     * Gets or sets the bool used to display the window preview shadow.
    *
    * Synchronization is the coordination of zooming, panning and crosshairs events between multiple charts. Multiple chart controls can be synchronized horizontally (along X-Axis), vertically (along Y-Axis), or both. If you want to synchronize a set of charts, assign them the same name to the `SyncChannel` and then specify whether or not synchronize chart horizontally and/or vertically.
    */
    SynchronizeHorizontally: boolean;
    ensureSyncSettings(): void;
    /**
     * Sets or gets the top margin to use around the chart content.
    *
    * ```html
    *  <igx-data-chart
    *     [dataSource]="data"
    *     leftMargin=20
    *     rightMargin=20
    *     topMargin=30
    *     bottomMargin=20>
    *     <igx-category-x-axis
    *         label="label"
    *         #xAxis>
    *     </igx-category-x-axis>
    *     <igx-numeric-y-axis
    *         #yAxis>
    *     </igx-numeric-y-axis>
    *     <igx-line-series
    *         [xAxis]="xAxis"
    *         [yAxis]="yAxis"
    *         valueMemberPath="value">
    *     </igx-line-series>
    * </igx-data-chart>
    * ```
    */
    topMargin: number;
    /**
     * Sets or gets the left margin to use around the chart content.
    *
    * ```html
    *  <igx-data-chart
    *     [dataSource]="data"
    *     leftMargin=20
    *     rightMargin=20
    *     topMargin=30
    *     bottomMargin=20>
    *     <igx-category-x-axis
    *         label="label"
    *         #xAxis>
    *     </igx-category-x-axis>
    *     <igx-numeric-y-axis
    *         #yAxis>
    *     </igx-numeric-y-axis>
    *     <igx-line-series
    *         [xAxis]="xAxis"
    *         [yAxis]="yAxis"
    *         valueMemberPath="value">
    *     </igx-line-series>
    * </igx-data-chart>
    * ```
    */
    leftMargin: number;
    /**
     * Sets or gets the right margin to use around the chart content.
    *
    * ```html
    *  <igx-data-chart
    *     [dataSource]="data"
    *     leftMargin=20
    *     rightMargin=20
    *     topMargin=30
    *     bottomMargin=20>
    *     <igx-category-x-axis
    *         label="label"
    *         #xAxis>
    *     </igx-category-x-axis>
    *     <igx-numeric-y-axis
    *         #yAxis>
    *     </igx-numeric-y-axis>
    *     <igx-line-series
    *         [xAxis]="xAxis"
    *         [yAxis]="yAxis"
    *         valueMemberPath="value">
    *     </igx-line-series>
    * </igx-data-chart>
    * ```
    */
    rightMargin: number;
    /**
     * Sets or gets the bottom margin to use around the chart content.
    *
    * ```ts
    * this.chart.bottomMargin = 50;
    * ```
    *
    * ```html
    * <igx-data-chart
    *     [dataSource]="data"
    *     bottomMargin=50>
    *     <igx-category-x-axis
    *         label="label"
    *         #xAxis>
    *     </igx-category-x-axis>
    *     <igx-numeric-y-axis
    *         #yAxis>
    *     </igx-numeric-y-axis>
    *     <igx-column-series
    *         [xAxis]="xAxis"
    *         [yAxis]="yAxis"
    *         valueMemberPath="value">
    *     </igx-column-series>
    * </igx-data-chart>
    * ```
    */
    bottomMargin: number;
    /**
     * Sets or gets the automatic width to add when automatically adding margins to the chart.
    *
    * ```html
    * <igx-data-chart
    *     [dataSource]="data"
    *     autoMarginWidth=50>
    *     <igx-category-x-axis
    *         label="label"
    *         #xAxis>
    *     </igx-category-x-axis>
    *     <igx-numeric-y-axis
    *         #yAxis>
    *     </igx-numeric-y-axis>
    *     <igx-column-series
    *         [xAxis]="xAxis"
    *         [yAxis]="yAxis"
    *         valueMemberPath="value">
    *     </igx-column-series>
    * </igx-data-chart>
    * ```
    *
    * ```ts
    * this.chart.autoMarginWidth = 50;
    * ```
    */
    autoMarginWidth: number;
    /**
     * Sets or gets the automatic height to add when automatically adding margins to the chart.
    *
    * ```html
    * <igx-data-chart
    *     [dataSource]="data"
    *     autoMarginHeight=50>
    *     <igx-category-x-axis
    *         label="label"
    *         #xAxis>
    *     </igx-category-x-axis>
    *     <igx-numeric-y-axis
    *         #yAxis>
    *     </igx-numeric-y-axis>
    *     <igx-column-series
    *         [xAxis]="xAxis"
    *         [yAxis]="yAxis"
    *         valueMemberPath="value">
    *     </igx-column-series>
    * </igx-data-chart>
    * ```
    *
    * ```ts
    *  this.chart.autoMarginHeight = 50;
    * ```
    */
    autoMarginHeight: number;
    /**
     * Gets or sets the IsAntiAliasingEnabledDuringInteraction property.
    */
    isAntiAliasingEnabledDuringInteraction: boolean;
    /**
     * Gets or sets the scaling value used to affect the pixel density of the control.
     * A higher scaling ratio will produce crisper visuals at the expense of memory.  Lower values will cause the control
     * to appear blurry.
    */
    pixelScalingRatio: number;
    /**
     * Method of pixel scaling to use during end user interaction with the chart.
    */
    interactionPixelScalingRatio: number;
    /**
     * Uri for the background image to display behind the overview plus detail pane.
    */
    overviewPlusDetailPaneBackgroundImageUri: string;
    /**
     * Gets the resolved pixel scaling ratio.
    *
    * A higher scaling ratio will produce crisper visuals at the expense of memory. Lower values will cause the control to appear blurry
    *
    * ```ts
    * let actualPixelScalingRatio: number = this.chart.actualPixelScalingRatio;
    * ```
    */
    actualPixelScalingRatio: number;
    /**
     * Resolved method of pixel scaling to use during end user interaction with the chart.
    *
    * ```ts
    * let actualInteractionPixelScalingRatio: number = this.chart.actualInteractionPixelScalingRatio;
    * ```
    */
    actualInteractionPixelScalingRatio: number;
    /**
     * Gets the actual value of the window rectangle, which represents the current zoom level.
    *
    * ```ts
    * let actualWindowRect: IgxRect = this.chart.actualWindowRect;
    * ``
    * ```
    */
    actualWindowRect: IgRect;
    /**
     * A number between 0 and 1 determining the position of the horizontal scroll.
     * This property is effectively a shortcut to the Left of the ActualWindowRect property.
    *
    * ```ts
    * let actualWindowPositionHorizontal: number = this.chart.actualWindowPositionHorizontal;
    * ```
    */
    actualWindowPositionHorizontal: number;
    /**
     * A number between 0 and 1 determining the position of the vertical scroll.
     * This property is effectively a shortcut to the Top of the ActualWindowRect property.
    *
    * ```ts
    * let actualWindowPositionVertical: number = this.chart.actualWindowPositionVertical;
    * ``
    * ```
    */
    actualWindowPositionVertical: number;
    /**
     * Hides the active main tooltip, if displayed.
    
    *
    * ```ts
    * this.chart.hideToolTip();
    * ```
    */
    hideToolTip(): void;
    /**
     * Manually starts a tiled zoom if one isn't already running.
    
    */
    startTiledZoomingIfNecessary(): void;
    /**
     * Manually ends a tiled zoom if one is running.
    
    */
    endTiledZoomingIfRunning(): void;
    /**
     * Clears the tile zoom tile cache so that new tiles will be generated. Only applies if the viewer is using a tile based zoom.
    
    */
    clearTileZoomCache(): void;
    /**
     * Resets the zoom level to default.
    
    */
    resetZoom(): void;
    /**
     * Gets actual window scale for horizontal dimension of the control
    
    *
    * ```ts
    * let actualWindowScaleHorizontal: number = chart.getActualWindowScaleHorizontal();
    * ```
    */
    getActualWindowScaleHorizontal(): number;
    /**
     * Gets actual window scale for vertical dimension of the control
    
    *
    * ```ts
    * let actualWindowScaleVertical: number = chart.getActualWindowScaleVertical();
    * ```
    */
    getActualWindowScaleVertical(): number;
    /**
     * Notification from the containing object that the container has been resized.
    
    */
    notifyContainerResized(): void;
    /**
     * Attaches the given series to the chart.
    
    * @param s  * The series to attach to the chart.
    */
    attachSeries(s: IgrSeries): void;
    notifySetItem(source_: any, index: number, oldItem: any, newItem: any): void;
    /**
     * Used to manually notify the SeriesViewer that the data source has reset or cleared its items.  Invoking this method is only necessary if that datasource is not observable.
    
    * @param source_  * The data source which was cleared or reset.
    *
    * ```ts
    * this.chart.notifyClearItems(this.data);
    * ```
    */
    notifyClearItems(source_: any): void;
    notifyInsertItem(source_: any, index: number, newItem: any): void;
    notifyRemoveItem(source_: any, index: number, oldItem: any): void;
    /**
     * Release any resources held by the control.
    
    */
    destroy(): void;
    /**
     * Use to force the SeriesViewer to finish any deferred work before printing or evaluating its visual.
     * This should only be called if the visual of the SeriesViewer needs to be synchronously saved or evaluated.
     * Calling this method too often will hinder the performance of the SeriesViewer.
    
    *
    * ```ts
    * this.chart.flush();
    * ```
    */
    flush(): void;
    private _seriesCursorMouseMove;
    private _seriesCursorMouseMove_wrapped;
    /**
     * Occurs when the cursors are moved over a series in this SeriesViewer.
    */
    seriesCursorMouseMove: (s: IgrSeriesViewer, e: ChartCursorEventArgs) => void;
    private _seriesMouseLeftButtonDown;
    private _seriesMouseLeftButtonDown_wrapped;
    /**
     * Occurs when the left mouse button is pressed while the mouse pointer is over a Series.
    *
    * &lt;-- position: content member-->
    *
    * ```html
    * <igx-data-chart
    *     [dataSource]="data"
    *     (seriesMouseLeftButtonDown)="onSeriesMouseLeftButtonDown($event)">
    *     <igx-category-x-axis
    *         label="label"
    *         #xAxis>
    *     </igx-category-x-axis>
    *     <igx-numeric-y-axis
    *         #yAxis>
    *     </igx-numeric-y-axis>
    *     <igx-line-series
    *         [xAxis]="xAxis"
    *         [yAxis]="yAxis"
    *         valueMemberPath="value"
    *         thickness=5>
    *     </igx-line-series>
    * </igx-data-chart>
    * ```
    *
    * &lt;-- position: content member-->
    *
    * ```ts
    * public onSeriesMouseLeftButtonDown(event: {sender: any, args: DataChartMouseButtonEventArgs})
    * {
    *     var item = event.args.item;
    * }
    * ```
    */
    seriesMouseLeftButtonDown: (s: IgrSeriesViewer, e: DataChartMouseButtonEventArgs) => void;
    private _seriesMouseLeftButtonUp;
    private _seriesMouseLeftButtonUp_wrapped;
    /**
     * Occurs when the left mouse button is released while the mouse pointer is over a Series.
    *
    * &lt;-- position: content member-->
    *
    * ```html
    * <igx-data-chart
    *     [dataSource]="data"
    *     (seriesMouseLeftButtonUp)="onSeriesMouseLeftButtonUp($event)">
    *     <igx-category-x-axis
    *         label="label"
    *         #xAxis>
    *     </igx-category-x-axis>
    *     <igx-numeric-y-axis
    *         #yAxis>
    *     </igx-numeric-y-axis>
    *     <igx-line-series
    *         [xAxis]="xAxis"
    *         [yAxis]="yAxis"
    *         valueMemberPath="value"
    *         thickness=5>
    *     </igx-line-series>
    * </igx-data-chart>
    * ```
    *
    * &lt;-- position: content member-->
    *
    * ```ts
    * public onSeriesMouseLeftButtonUp(event: {sender: any, args: DataChartMouseButtonEventArgs})
    * {
    *     var item = event.args.item;
    * }
    * ```
    */
    seriesMouseLeftButtonUp: (s: IgrSeriesViewer, e: DataChartMouseButtonEventArgs) => void;
    private _seriesMouseMove;
    private _seriesMouseMove_wrapped;
    /**
     * Occurs when the mouse pointer moves while over a Series.
    *
    * &lt;-- position: content member-->
    *
    * ```html
    * <igx-data-chart
    *     [dataSource]="data"
    *     (seriesMouseMove)="onSeriesMouseMove($event)">
    *     <igx-category-x-axis
    *         label="label"
    *         #xAxis>
    *     </igx-category-x-axis>
    *     <igx-numeric-y-axis
    *         #yAxis>
    *     </igx-numeric-y-axis>
    *     <igx-line-series
    *         [xAxis]="xAxis"
    *         [yAxis]="yAxis"
    *         valueMemberPath="value"
    *         thickness=5>
    *     </igx-line-series>
    * </igx-data-chart>
    * ```
    *
    * &lt;-- position: content member-->
    *
    * ```ts
    * public onSeriesMouseMove(event: {sender: any, args: ChartMouseEventArgs})
    * {
    *     var item = event.args.item;
    * }
    * ```
    */
    seriesMouseMove: (s: IgrSeriesViewer, e: ChartMouseEventArgs) => void;
    private _seriesMouseEnter;
    private _seriesMouseEnter_wrapped;
    /**
     * Occurs when the mouse pointer enters a Series.
    *
    * &lt;-- position: content member-->
    *
    * ```html
    * <igx-data-chart
    *     [dataSource]="data"
    *     (seriesMouseEnter)="onSeriesMouseEnter($event)">
    *     <igx-category-x-axis
    *         label="label"
    *         #xAxis>
    *     </igx-category-x-axis>
    *     <igx-numeric-y-axis
    *         #yAxis>
    *     </igx-numeric-y-axis>
    *     <igx-line-series
    *         [xAxis]="xAxis"
    *         [yAxis]="yAxis"
    *         valueMemberPath="value"
    *         thickness=5>
    *     </igx-line-series>
    * </igx-data-chart>
    * ```
    *
    * &lt;-- position: content member-->
    *
    * ```ts
    * public onSeriesMouseEnter(event: {sender: any, args: ChartMouseEventArgs})
    * {
    *     var item = event.args.item;
    * }
    * ```
    */
    seriesMouseEnter: (s: IgrSeriesViewer, e: ChartMouseEventArgs) => void;
    private _seriesMouseLeave;
    private _seriesMouseLeave_wrapped;
    /**
     * Occurs when the mouse pointer leaves a Series.
    *
    * &lt;-- position: content member-->
    *
    * ```html
    * <igx-data-chart
    *     [dataSource]="data"
    *     (seriesMouseLeave)="onSeriesMouseLeave($event)">
    *     <igx-category-x-axis
    *         label="label"
    *         #xAxis>
    *     </igx-category-x-axis>
    *     <igx-numeric-y-axis
    *         #yAxis>
    *     </igx-numeric-y-axis>
    *     <igx-line-series
    *         [xAxis]="xAxis"
    *         [yAxis]="yAxis"
    *         valueMemberPath="value"
    *         thickness=5>
    *     </igx-line-series>
    * </igx-data-chart>
    * ```
    *
    * &lt;-- position: content member-->
    *
    * ```ts
    * public onSeriesMouseLeave(event: {sender: any, args: ChartMouseEventArgs})
    * {
    *     var item = event.args.item;
    * }
    * ```
    */
    seriesMouseLeave: (s: IgrSeriesViewer, e: ChartMouseEventArgs) => void;
    private _windowRectChanged;
    private _windowRectChanged_wrapped;
    /**
     * Occurs just after the current SeriesViewer's window rectangle is changed.
    *
    * &lt;-- position: content member-->
    *
    * ```html
    * <igx-data-chart
    *     [dataSource]="data"
    *     isHorizontalZoomEnabled=true
    *     (windowRectChanged)="onWindowRectChanged($event)">
    *     <igx-category-x-axis
    *         label="label"
    *         #xAxis>
    *     </igx-category-x-axis>
    *     <igx-numeric-y-axis
    *         #yAxis>
    *     </igx-numeric-y-axis>
    *     <igx-line-series
    *         [xAxis]="xAxis"
    *         [yAxis]="yAxis"
    *         valueMemberPath="value">
    *     </igx-line-series>
    * </igx-data-chart>
    * ```
    *
    * &lt;-- position: content member-->
    *
    * ```ts
    * public onWindowRectChanged(event: {sender: any, args: RectChangedEventArgs})
    * {
    *     let newRect: IgxRect = event.args.newRect;
    * }
    * ```
    */
    windowRectChanged: (s: IgrSeriesViewer, e: RectChangedEventArgs) => void;
    private _sizeChanged;
    private _sizeChanged_wrapped;
    /**
     * Occurs after the size of the series viewer changes.
    *
    * &lt;-- position: content member-->
    *
    * ```html
    * <igx-data-chart
    *     [dataSource]="data"
    *     (sizeChanged)="onSizeChanged($event)">
    *     <igx-category-x-axis
    *         label="label"
    *         #xAxis>
    *     </igx-category-x-axis>
    *     <igx-numeric-y-axis
    *         #yAxis>
    *     </igx-numeric-y-axis>
    *     <igx-line-series
    *         [xAxis]="xAxis"
    *         [yAxis]="yAxis"
    *         valueMemberPath="value">
    *     </igx-line-series>
    * </igx-data-chart>
    * ```
    *
    * &lt;-- position: content member-->
    *
    * ```ts
    * public onSizeChanged(event: {sender: any, args: RectChangedEventArgs})
    * {
    *     let newRect: IgxRect = event.args.newRect;
    * }
    * ```
    */
    sizeChanged: (s: IgrSeriesViewer, e: RectChangedEventArgs) => void;
    private _gridAreaRectChanged;
    private _gridAreaRectChanged_wrapped;
    /**
     * Occurs just after the current SeriesViewer's grid area rectangle is changed.
     * The grid area may change as the result of the SeriesViewer being resized, or
     * of an axis being added or changing size, possibly in another SeriesViewer.
    */
    gridAreaRectChanged: (s: IgrSeriesViewer, e: RectChangedEventArgs) => void;
}
export interface IIgrSeriesViewerProps {
    /**
     * Gets or sets the cross hair point (in world coordinates)
     * Either or both of the crosshair point's X and Y may be set to double.NaN, in which
     * case the relevant crosshair line is hidden.
    *
    * ```html
    * <igx-data-chart
    *     [dataSource]="data"
    *     crosshairVisibility="visible"
    *     crosshairPoint={x:.8,y:.2}>
    *     <igx-category-x-axis
    *         label="label"
    *         #xAxis>
    *     </igx-category-x-axis>
    *     <igx-numeric-y-axis
    *         #yAxis>
    *     </igx-numeric-y-axis>
    *     <igx-line-series
    *         [xAxis]="xAxis"
    *         [yAxis]="yAxis"
    *         valueMemberPath="value">
    *     </igx-line-series>
    * </igx-data-chart>
    * ```
    *
    * ```ts
    * this.chart.crosshairPoint = {x:.8,y:.2};
    * ```
    */
    crosshairPoint?: IgPoint | string;
    /**
     * Gets or sets whether the series animations should be allowed when a range change has been detected on an axis.
    *
    * ```html
    * <igx-data-chart
    *     [dataSource]="data"
    *     animateSeriesWhenAxisRangeChanges=true>
    *     <igx-category-x-axis
    *         label="label"
    *         #xAxis>
    *     </igx-category-x-axis>
    *     <igx-numeric-y-axis
    *         #yAxis>
    *     </igx-numeric-y-axis>
    *     <igx-column-series
    *         [xAxis]="xAxis"
    *         [yAxis]="yAxis"
    *         valueMemberPath="value"
    *         transitionInMode="accordionFromBottom"
    *         isTransitionInEnabled=true
    *         transitionInSpeedType="indexScaled"
    *         transitionDuration=1000>
    *     </igx-column-series>
    * </igx-data-chart>
    * ```
    *
    * ```ts
    * this.chart.animateSeriesWhenAxisRangeChanges = true;
    * ```
    */
    animateSeriesWhenAxisRangeChanges?: boolean | string;
    /**
     * Gets the EffectiveViewport rectangle, representing the effective viewport area after margins have been subtracted.
    *
    *  ``ts
    * let viewport: IgxRect = this.chart.effectiveViewport;
    *
    * ```
    *
    * ```
    */
    effectiveViewport?: IgRect | string;
    /**
     * A rectangle representing the portion of the SeriesViewer currently in view.
     * A rectangle at X=0, Y=0 with a Height and Width of 1 implies the entire plotting area is in view.  A Height and Width of .5 would imply that the view is halfway zoomed in.
    *
    * You can set the `windowRect` to zoom in on an area of interest in the chart.
    *
    * ```ts
    * this.chart.windowRect = {left:0, top:1, width: .5, height: .5};
    * ```
    */
    windowRect?: IgRect | string;
    /**
     * Gets or sets whether the series viewer should use cached tiles during zooms rather than the default live content.
    */
    useTiledZooming?: boolean | string;
    /**
     * Gets or sets whether the series viewer should prefer selecting higher resolution tiles over lower resolution tiles when performing tile zooming. Setting this to true will lower performance but increase quality.
    */
    preferHigherResolutionTiles?: boolean | string;
    /**
     * Gets or sets the maximum number of zoom tiles that the series viewer should cache while in tiled zooming mode.
    */
    zoomTileCacheSize?: number | string;
    /**
     * Gets or sets the duration the highlighting/de-highlighting effects.
    */
    highlightingTransitionDuration?: number | string;
    /**
     * Gets or sets the whether the series viewer can allow the page to pan if a control pan is not possible in the requested direction.
    */
    isPagePanningAllowed?: boolean | string;
    /**
     * Determines the method of hit testing used when mousing over elements in the chart.
    *
    * ```ts
    * this.chart.contentHitTestMode = ChartHitTestMode.Computational;
    * ```
    */
    contentHitTestMode?: ChartHitTestMode | string;
    /**
     * Resolved method of hit testing used when the pointer is over elements in the chart.
    *
    * ```ts
    * let actualContentHitTestMode: ChartHitTestMode  =this.chart.actualContentHitTestMode;
    * ```
    */
    actualContentHitTestMode?: ChartHitTestMode | string;
    /**
     * Gets or sets whether all surface interactions with the plot area should be disabled.
    *
    * ```html
    * <igx-data-chart
    *     [dataSource]="data"
    *     isSurfaceInteractionDisabled=true>
    *     <igx-category-x-axis
    *         label="label"
    *         #xAxis>
    *     </igx-category-x-axis>
    *     <igx-numeric-y-axis
    *         #yAxis>
    *     </igx-numeric-y-axis>
    *     <igx-line-series
    *         [xAxis]="xAxis"
    *         [yAxis]="yAxis"
    *         valueMemberPath="value">
    *     </igx-line-series>
    * </igx-data-chart>
    * ```
    */
    isSurfaceInteractionDisabled?: boolean | string;
    /**
     * The response to user panning and zooming: whether to update the view immediately while the user action is happening, or to defer the update to after the user action is complete.  The user action will be an action such as a mouse drag which causes panning and/or zooming to occur.
    *
    * ```ts
    * <igx-data-chart
    *     [dataSource]="data"
    *     isHorizontalZoomEnabled=true
    *     windowResponse="deferred">
    *     <igx-category-x-axis
    *         label="label"
    *         #xAxis>
    *     </igx-category-x-axis>
    *     <igx-numeric-y-axis
    *         #yAxis>
    *     </igx-numeric-y-axis>
    *     <igx-line-series
    *         [xAxis]="xAxis"
    *         [yAxis]="yAxis"
    *         valueMemberPath="value">
    *     </igx-line-series>
    * </igx-data-chart>
    * ```
    */
    windowResponse?: WindowResponse | string;
    /**
     * Sets or gets the minimum width that the window rect is allowed to reach before being clamped.
     * Decrease this value if you want to allow for further zooming into the viewer.
     * If this value is lowered too much it can cause graphical corruption due to floating point arithmetic inaccuracy.
    *
    * ```html
    * <igx-data-chart
    *     [dataSource]="data"
    *     isHorizontalZoomEnabled=true
    *     windowRectMinWidth=.2>
    *     <igx-category-x-axis
    *         label="label"
    *         #xAxis>
    *     </igx-category-x-axis>
    *     <igx-numeric-y-axis
    *         #yAxis>
    *     </igx-numeric-y-axis>
    *     <igx-line-series
    *         [xAxis]="xAxis"
    *         [yAxis]="yAxis"
    *         valueMemberPath="value">
    *     </igx-line-series>
    * </igx-data-chart>
    * ```
    */
    windowRectMinWidth?: number | string;
    /**
     * Sets or gets the Synchronization channel to use for the SeriesViewer.
    *
    * Synchronization is the coordination of zooming, panning and crosshairs events between multiple charts. Multiple chart controls can be synchronized horizontally (along X-Axis), vertically (along Y-Axis), or both. If you want to synchronize a set of charts, assign them the same name to the `syncChannel` and then specify whether or not synchronize chart horizontally and/or vertically.
    *
    * ```html
    * <igx-data-chart
    *     [dataSource]="data"
    *     isHorizontalZoomEnabled=true
    *     isVerticalZoomEnabled=true
    *     syncChannel="channel1"
    *     synchronizeHorizontally=true
    *     synchronizeVertically=true>
    *     <igx-category-x-axis
    *         label="label"
    *         #xAxis>
    *     </igx-category-x-axis>
    *     <igx-numeric-y-axis
    *         #yAxis>
    *     </igx-numeric-y-axis>
    *     <igx-line-series
    *         [xAxis]="xAxis"
    *         [yAxis]="yAxis"
    *         valueMemberPath="value">
    *     </igx-line-series>
    * </igx-data-chart>
    * <igx-data-chart
    *     [dataSource]="data"
    *     syncChannel="channel1"
    *     synchronizeHorizontally=true
    *     synchronizeVertically=true>
    *     <igx-category-x-axis
    *         label="label"
    *         #xAxis2>
    *     </igx-category-x-axis>
    *     <igx-numeric-y-axis
    *         #yAxis2>
    *     </igx-numeric-y-axis>
    *     <igx-line-series
    *         [xAxis]="xAxis2"
    *         [yAxis]="yAxis2"
    *         valueMemberPath="value2">
    *     </igx-line-series>
    * </igx-data-chart>
    * ```
    */
    syncChannel?: string;
    /**
     * The visibility of the OverviewPlusDetailPane.
    */
    overviewPlusDetailPaneVisibility?: Visibility | string;
    /**
     * Gets or sets the current SeriesViewer's crosshair visibility override.
    *
    * ```html
    * <igx-data-chart
    *     [dataSource]="data"
    *     crosshairVisibility="visible">
    *     <igx-category-x-axis
    *         label="label"
    *         #xAxis>
    *     </igx-category-x-axis>
    *     <igx-numeric-y-axis
    *         #yAxis>
    *     </igx-numeric-y-axis>
    *     <igx-line-series
    *         [xAxis]="xAxis"
    *         [yAxis]="yAxis"
    *         valueMemberPath="value">
    *     </igx-line-series>
    * </igx-data-chart>
    * ```
    *
    * ```ts
    * this.chart.crosshairVisibility = Visibility.Visible;
    * ```
    */
    crosshairVisibility?: Visibility | string;
    /**
     * Gets or sets the brush used as the background for the current SeriesViewer object's plot area.
    *
    * ```html
    * <igx-data-chart
    *     [dataSource]="data"
    *     plotAreaBackground="#F0F8FF">
    *     <igx-category-x-axis
    *         label="label"
    *         #xAxis>
    *     </igx-category-x-axis>
    *     <igx-numeric-y-axis
    *         #yAxis>
    *     </igx-numeric-y-axis>
    *     <igx-line-series
    *         [xAxis]="xAxis"
    *         [yAxis]="yAxis"
    *         valueMemberPath="value">
    *     </igx-line-series>
    * </igx-data-chart>
    * ```
    */
    plotAreaBackground?: string;
    /**
     * Gets or sets the DefaultInteraction property.
     * The default interaction state defines the SeriesViewer's response to mouse events.
    *
    * ```html
    * <igx-data-chart
    *     [dataSource]="data"
    *     isHorizontalZoomEnabled=true
    *     defaultInteraction="dragPan">
    *     <igx-category-x-axis
    *         label="label"
    *         #xAxis>
    *     </igx-category-x-axis>
    *     <igx-numeric-y-axis
    *         #yAxis>
    *     </igx-numeric-y-axis>
    *     <igx-line-series
    *         [xAxis]="xAxis"
    *         [yAxis]="yAxis"
    *         valueMemberPath="value">
    *     </igx-line-series>
    * </igx-data-chart>
    * ```
    *
    * ```ts
    * this.chart.defaultInteraction = InteractionState.DragPan;
    * ```
    */
    defaultInteraction?: InteractionState | string;
    /**
     * Gets or sets the current SeriesViewer's DragModifier property.
    *
    * `dragModifier` is useful to enable zooming when zooming is not the default interaction.
    *
    * ```html
    * <igx-data-chart
    *     [dataSource]="data"
    *     isHorizontalZoomEnabled=true
    *     defaultInteraction="dragPan"
    *     dragModifier="alt">
    *     <igx-category-x-axis
    *         label="label"
    *         #xAxis>
    *     </igx-category-x-axis>
    *     <igx-numeric-y-axis
    *         #yAxis>
    *     </igx-numeric-y-axis>
    *     <igx-line-series
    *         [xAxis]="xAxis"
    *         [yAxis]="yAxis"
    *         valueMemberPath="value">
    *     </igx-line-series>
    * </igx-data-chart>
    * ```
    *
    * ```ts
    * this.chart.dragModifier = ModifierKeys.Alt;
    * ```
    */
    dragModifier?: ModifierKeys | string;
    /**
     * Gets or sets the current SeriesViewer's PanModifier property.
    *
    * `panModifier` is useful to enable panning when panning is not the default interaction.
    *
    * ```html
    * <igx-data-chart
    *     [dataSource]="data"
    *     isHorizontalZoomEnabled=true
    *     defaultInteraction="dragZoom"
    *     panModifier="alt">
    *     <igx-category-x-axis
    *         label="label"
    *         #xAxis>
    *     </igx-category-x-axis>
    *     <igx-numeric-y-axis
    *         #yAxis>
    *     </igx-numeric-y-axis>
    *     <igx-line-series
    *         [xAxis]="xAxis"
    *         [yAxis]="yAxis"
    *         valueMemberPath="value">
    *     </igx-line-series>
    * </igx-data-chart>
    * ```
    *
    * ```ts
    * this.chart.panModifier = ModifierKeys.Alt;
    * ```
    */
    panModifier?: ModifierKeys | string;
    /**
     * Gets or sets the preview rectangle.
     * The preview rectangle may be set to Rect.Empty, in which case the visible preview
     * strokePath is hidden.
    *
    * `previewRect` can be used to highlight an area of importance.
    *
    * ```ts
    * this.chart.previewRect = {left:0,top:0,height:.5,width:.5};
    * ```
    */
    previewRect?: IgRect | string;
    /**
     * A number between 0 and 1 determining the position of the horizontal scroll.
     * This property is effectively a shortcut to the X position of the WindowRect property.
    *
    * ```ts
    * this.chart.windowPositionHorizontal = .2;
    * ```
    */
    windowPositionHorizontal?: number | string;
    /**
     * A number between 0 and 1 determining the position of the vertical scroll.
     * This property is effectively a shortcut to the Y position of the WindowRect property.
    *
    * ```ts
    * this.chart.windowPositionVertical = .2;
    * ```
    */
    windowPositionVertical?: number | string;
    /**
     * Text to display above the plot area.
    *
    * ```html
    * <igx-data-chart
    *     [dataSource]="data"
    *     title="Items Sold">
    *     <igx-category-x-axis
    *         label="label"
    *         #xAxis>
    *     </igx-category-x-axis>
    *     <igx-numeric-y-axis
    *         #yAxis>
    *     </igx-numeric-y-axis>
    *     <igx-column-series
    *         [xAxis]="xAxis"
    *         [yAxis]="yAxis"
    *         valueMemberPath="value">
    *     </igx-column-series>
    * </igx-data-chart>
    * ```
    */
    chartTitle?: string;
    /**
     * Gets or sets the TitleHorizontalAlignment property.
    *
    * ```html
    * <igx-data-chart
    *     [dataSource]="data"
    *     title="Items Sold"
    *     subtitle="date of sale: 1/1/2018"
    *     titleHorizontalAlignment="left"
    *     subtitleHorizontalAlignment="left">
    *     <igx-category-x-axis
    *         label="label"
    *         #xAxis>
    *     </igx-category-x-axis>
    *     <igx-numeric-y-axis
    *         #yAxis>
    *     </igx-numeric-y-axis>
    *     <igx-column-series
    *         [xAxis]="xAxis"
    *         [yAxis]="yAxis"
    *         valueMemberPath="value">
    *     </igx-column-series>
    * </igx-data-chart>
    * ```
    */
    titleHorizontalAlignment?: HorizontalAlignment | string;
    /**
     * Gets or sets the SubtitleHorizontalAlignment property.
    *
    * ```html
    * <igx-data-chart
    *     [dataSource]="data"
    *     title="Items Sold"
    *     subtitle="Date of Sale: 1/1/2018"
    *     titleHorizontalAlignment="left"
    *     subtitleHorizontalAlignment="left">
    *     <igx-category-x-axis
    *         label="label"
    *         #xAxis>
    *     </igx-category-x-axis>
    *     <igx-numeric-y-axis
    *         #yAxis>
    *     </igx-numeric-y-axis>
    *     <igx-column-series
    *         [xAxis]="xAxis"
    *         [yAxis]="yAxis"
    *         valueMemberPath="value">
    *     </igx-column-series>
    * </igx-data-chart>
    * ```
    */
    subtitleHorizontalAlignment?: HorizontalAlignment | string;
    /**
     * Font settings for the title.
    */
    titleTextStyle?: string;
    /**
     * Font settings for the subtitle.
    */
    subtitleTextStyle?: string;
    /**
     * Gets or sets the Color used for the Title Text.
    *
    * ```html
    * <igx-data-chart
    *     [dataSource]="data"
    *     title="Items Sold"
    *     subtitle="date of sale: 1/1/2018"
    *     titleTextColor="blue">
    *     <igx-category-x-axis
    *         label="label"
    *         #xAxis>
    *     </igx-category-x-axis>
    *     <igx-numeric-y-axis
    *         #yAxis>
    *     </igx-numeric-y-axis>
    *     <igx-column-series
    *         [xAxis]="xAxis"
    *         [yAxis]="yAxis"
    *         valueMemberPath="value">
    *     </igx-column-series>
    * </igx-data-chart>
    * ```
    */
    titleTextColor?: string;
    /**
     * Gets or sets the Color used for the Subtitle Text.
    *
    * ```html
    * <igx-data-chart
    *     [dataSource]="data"
    *     title="Items Sold"
    *     subtitle="Date of Sale: 1/1/2018"
    *     subtitleTextColor="blue">
    *     <igx-category-x-axis
    *         label="label"
    *         #xAxis>
    *     </igx-category-x-axis>
    *     <igx-numeric-y-axis
    *         #yAxis>
    *     </igx-numeric-y-axis>
    *     <igx-column-series
    *         [xAxis]="xAxis"
    *         [yAxis]="yAxis"
    *         valueMemberPath="value">
    *     </igx-column-series>
    * </igx-data-chart>
    * ```
    */
    subtitleTextColor?: string;
    /**
     * Margin applied above the title.
    *
    * ```html
    * <igx-data-chart
    *     [dataSource]="data"
    *     title="Items Sold"
    *     titleLeftMarging=10
    *     titleTopMargin=10
    *     titleRightMargin=10
    *     titleBottomMargin=20>
    *     <igx-category-x-axis
    *         label="label"
    *         #xAxis>
    *     </igx-category-x-axis>
    *     <igx-numeric-y-axis
    *         #yAxis>
    *     </igx-numeric-y-axis>
    *     <igx-column-series
    *         [xAxis]="xAxis"
    *         [yAxis]="yAxis"
    *         valueMemberPath="value">
    *     </igx-column-series>
    * </igx-data-chart>
    * ```
    */
    titleTopMargin?: number | string;
    /**
     * Margin applied to the left of the title.
    *
    * ```html
    * <igx-data-chart
    *     [dataSource]="data"
    *     title="Items Sold"
    *     titleLeftMarging=10
    *     titleTopMargin=10
    *     titleRightMargin=10
    *     titleBottomMargin=20>
    *     <igx-category-x-axis
    *         label="label"
    *         #xAxis>
    *     </igx-category-x-axis>
    *     <igx-numeric-y-axis
    *         #yAxis>
    *     </igx-numeric-y-axis>
    *     <igx-column-series
    *         [xAxis]="xAxis"
    *         [yAxis]="yAxis"
    *         valueMemberPath="value">
    *     </igx-column-series>
    * </igx-data-chart>
    * ```
    */
    titleLeftMargin?: number | string;
    /**
     * Margin applied to the right of the title.
    *
    * ```html
    * <igx-data-chart
    *     [dataSource]="data"
    *     title="Items Sold"
    *     titleLeftMarging=10
    *     titleTopMargin=10
    *     titleRightMargin=10
    *     titleBottomMargin=20>
    *     <igx-category-x-axis
    *         label="label"
    *         #xAxis>
    *     </igx-category-x-axis>
    *     <igx-numeric-y-axis
    *         #yAxis>
    *     </igx-numeric-y-axis>
    *     <igx-column-series
    *         [xAxis]="xAxis"
    *         [yAxis]="yAxis"
    *         valueMemberPath="value">
    *     </igx-column-series>
    * </igx-data-chart>
    * ```
    */
    titleRightMargin?: number | string;
    /**
     * Margin applied below the title.
    *
    * ```html
    * <igx-data-chart
    *     [dataSource]="data"
    *     title="Items Sold"
    *     titleLeftMarging=10
    *     titleTopMargin=10
    *     titleRightMargin=10
    *     titleBottomMargin=20>
    *     <igx-category-x-axis
    *         label="label"
    *         #xAxis>
    *     </igx-category-x-axis>
    *     <igx-numeric-y-axis
    *         #yAxis>
    *     </igx-numeric-y-axis>
    *     <igx-column-series
    *         [xAxis]="xAxis"
    *         [yAxis]="yAxis"
    *         valueMemberPath="value">
    *     </igx-column-series>
    * </igx-data-chart>
    * ```
    */
    titleBottomMargin?: number | string;
    /**
     * Margin applied above the subtitle.
    *
    * ```html
    * <igx-data-chart
    *     [dataSource]="data"
    *     title="Items Sold"
    *     subtitle="date of sale: 1/1/2018"
    *     subtitleLeftMarging=10
    *     subtitleTopMargin=10
    *     subtitleRightMargin=10
    *     subtitleBottomMargin=20>
    *     <igx-category-x-axis
    *         label="label"
    *         #xAxis>
    *     </igx-category-x-axis>
    *     <igx-numeric-y-axis
    *         #yAxis>
    *     </igx-numeric-y-axis>
    *     <igx-column-series
    *         [xAxis]="xAxis"
    *         [yAxis]="yAxis"
    *         valueMemberPath="value">
    *     </igx-column-series>
    * </igx-data-chart>
    * ```
    */
    subtitleTopMargin?: number | string;
    /**
     * Margin applied to the left of the subtitle.
    *
    * ```html
    * <igx-data-chart
    *     [dataSource]="data"
    *     title="Items Sold"
    *     subtitle="date of sale: 1/1/2018"
    *     subtitleLeftMarging=10
    *     subtitleTopMargin=10
    *     subtitleRightMargin=10
    *     subtitleBottomMargin=20>
    *     <igx-category-x-axis
    *         label="label"
    *         #xAxis>
    *     </igx-category-x-axis>
    *     <igx-numeric-y-axis
    *         #yAxis>
    *     </igx-numeric-y-axis>
    *     <igx-column-series
    *         [xAxis]="xAxis"
    *         [yAxis]="yAxis"
    *         valueMemberPath="value">
    *     </igx-column-series>
    * </igx-data-chart>
    * ```
    */
    subtitleLeftMargin?: number | string;
    /**
     * Margin applied to the right of the subtitle.
    *
    * ```html
    * <igx-data-chart
    *     [dataSource]="data"
    *     title="Items Sold"
    *     subtitle="date of sale: 1/1/2018"
    *     subtitleLeftMarging=10
    *     subtitleTopMargin=10
    *     subTitleRightMargin=10
    *     subtitleBottomMargin=20>
    *     <igx-category-x-axis
    *         label="label"
    *         #xAxis>
    *     </igx-category-x-axis>
    *     <igx-numeric-y-axis
    *         #yAxis>
    *     </igx-numeric-y-axis>
    *     <igx-column-series
    *         [xAxis]="xAxis"
    *         [yAxis]="yAxis"
    *         valueMemberPath="value">
    *     </igx-column-series>
    * </igx-data-chart>
    * ```
    */
    subtitleRightMargin?: number | string;
    /**
     * Margin applied below the subtitle.
    *
    * ```html
    * <igx-data-chart
    *     [dataSource]="data"
    *     title="Items Sold"
    *     subtitle="date of sale: 1/1/2018"
    *     subtitleLeftMarging=10
    *     subtitleTopMargin=10
    *     subtitleRightMargin=10
    *     subtitleBottomMargin=20>
    *     <igx-category-x-axis
    *         label="label"
    *         #xAxis>
    *     </igx-category-x-axis>
    *     <igx-numeric-y-axis
    *         #yAxis>
    *     </igx-numeric-y-axis>
    *     <igx-column-series
    *         [xAxis]="xAxis"
    *         [yAxis]="yAxis"
    *         valueMemberPath="value">
    *     </igx-column-series>
    * </igx-data-chart>
    * ```
    */
    subtitleBottomMargin?: number | string;
    /**
     * Gets or sets the Subtitle property.
     * The Title property defines the Subtitle of the chart
    *
    * ```html
    * <igx-data-chart
    *     [dataSource]="data"
    *     title="Items Sold"
    *     subtitle="Date of Sale: 1/1/2018">
    *     <igx-category-x-axis
    *         label="label"
    *         #xAxis>
    *     </igx-category-x-axis>
    *     <igx-numeric-y-axis
    *         #yAxis>
    *     </igx-numeric-y-axis>
    *     <igx-column-series
    *         [xAxis]="xAxis"
    *         [yAxis]="yAxis"
    *         valueMemberPath="value">
    *     </igx-column-series>
    * </igx-data-chart>
    * ```
    */
    subtitle?: string;
    /**
     * Gets or sets the channel with which to synchronize.
    *
    * Synchronization is the coordination of zooming, panning and crosshairs events between multiple charts. Multiple chart controls can be synchronized horizontally (along X-Axis), vertically (along Y-Axis), or both. If you want to synchronize a set of charts, assign them the same name to the `SyncChannel` and then specify whether or not synchronize chart horizontally and/or vertically.
    */
    SyncChannel?: string;
    /**
     * Gets or sets the bool used to display the window preview shadow.
    *
    * Synchronization is the coordination of zooming, panning and crosshairs events between multiple charts. Multiple chart controls can be synchronized horizontally (along X-Axis), vertically (along Y-Axis), or both. If you want to synchronize a set of charts, assign them the same name to the `SyncChannel` and then specify whether or not synchronize chart horizontally and/or vertically.
    */
    SynchronizeVertically?: boolean | string;
    /**
     * Gets or sets the bool used to display the window preview shadow.
    *
    * Synchronization is the coordination of zooming, panning and crosshairs events between multiple charts. Multiple chart controls can be synchronized horizontally (along X-Axis), vertically (along Y-Axis), or both. If you want to synchronize a set of charts, assign them the same name to the `SyncChannel` and then specify whether or not synchronize chart horizontally and/or vertically.
    */
    SynchronizeHorizontally?: boolean | string;
    /**
     * Sets or gets the top margin to use around the chart content.
    *
    * ```html
    *  <igx-data-chart
    *     [dataSource]="data"
    *     leftMargin=20
    *     rightMargin=20
    *     topMargin=30
    *     bottomMargin=20>
    *     <igx-category-x-axis
    *         label="label"
    *         #xAxis>
    *     </igx-category-x-axis>
    *     <igx-numeric-y-axis
    *         #yAxis>
    *     </igx-numeric-y-axis>
    *     <igx-line-series
    *         [xAxis]="xAxis"
    *         [yAxis]="yAxis"
    *         valueMemberPath="value">
    *     </igx-line-series>
    * </igx-data-chart>
    * ```
    */
    topMargin?: number | string;
    /**
     * Sets or gets the left margin to use around the chart content.
    *
    * ```html
    *  <igx-data-chart
    *     [dataSource]="data"
    *     leftMargin=20
    *     rightMargin=20
    *     topMargin=30
    *     bottomMargin=20>
    *     <igx-category-x-axis
    *         label="label"
    *         #xAxis>
    *     </igx-category-x-axis>
    *     <igx-numeric-y-axis
    *         #yAxis>
    *     </igx-numeric-y-axis>
    *     <igx-line-series
    *         [xAxis]="xAxis"
    *         [yAxis]="yAxis"
    *         valueMemberPath="value">
    *     </igx-line-series>
    * </igx-data-chart>
    * ```
    */
    leftMargin?: number | string;
    /**
     * Sets or gets the right margin to use around the chart content.
    *
    * ```html
    *  <igx-data-chart
    *     [dataSource]="data"
    *     leftMargin=20
    *     rightMargin=20
    *     topMargin=30
    *     bottomMargin=20>
    *     <igx-category-x-axis
    *         label="label"
    *         #xAxis>
    *     </igx-category-x-axis>
    *     <igx-numeric-y-axis
    *         #yAxis>
    *     </igx-numeric-y-axis>
    *     <igx-line-series
    *         [xAxis]="xAxis"
    *         [yAxis]="yAxis"
    *         valueMemberPath="value">
    *     </igx-line-series>
    * </igx-data-chart>
    * ```
    */
    rightMargin?: number | string;
    /**
     * Sets or gets the bottom margin to use around the chart content.
    *
    * ```ts
    * this.chart.bottomMargin = 50;
    * ```
    *
    * ```html
    * <igx-data-chart
    *     [dataSource]="data"
    *     bottomMargin=50>
    *     <igx-category-x-axis
    *         label="label"
    *         #xAxis>
    *     </igx-category-x-axis>
    *     <igx-numeric-y-axis
    *         #yAxis>
    *     </igx-numeric-y-axis>
    *     <igx-column-series
    *         [xAxis]="xAxis"
    *         [yAxis]="yAxis"
    *         valueMemberPath="value">
    *     </igx-column-series>
    * </igx-data-chart>
    * ```
    */
    bottomMargin?: number | string;
    /**
     * Sets or gets the automatic width to add when automatically adding margins to the chart.
    *
    * ```html
    * <igx-data-chart
    *     [dataSource]="data"
    *     autoMarginWidth=50>
    *     <igx-category-x-axis
    *         label="label"
    *         #xAxis>
    *     </igx-category-x-axis>
    *     <igx-numeric-y-axis
    *         #yAxis>
    *     </igx-numeric-y-axis>
    *     <igx-column-series
    *         [xAxis]="xAxis"
    *         [yAxis]="yAxis"
    *         valueMemberPath="value">
    *     </igx-column-series>
    * </igx-data-chart>
    * ```
    *
    * ```ts
    * this.chart.autoMarginWidth = 50;
    * ```
    */
    autoMarginWidth?: number | string;
    /**
     * Sets or gets the automatic height to add when automatically adding margins to the chart.
    *
    * ```html
    * <igx-data-chart
    *     [dataSource]="data"
    *     autoMarginHeight=50>
    *     <igx-category-x-axis
    *         label="label"
    *         #xAxis>
    *     </igx-category-x-axis>
    *     <igx-numeric-y-axis
    *         #yAxis>
    *     </igx-numeric-y-axis>
    *     <igx-column-series
    *         [xAxis]="xAxis"
    *         [yAxis]="yAxis"
    *         valueMemberPath="value">
    *     </igx-column-series>
    * </igx-data-chart>
    * ```
    *
    * ```ts
    *  this.chart.autoMarginHeight = 50;
    * ```
    */
    autoMarginHeight?: number | string;
    /**
     * Gets or sets the IsAntiAliasingEnabledDuringInteraction property.
    */
    isAntiAliasingEnabledDuringInteraction?: boolean | string;
    /**
     * Gets or sets the scaling value used to affect the pixel density of the control.
     * A higher scaling ratio will produce crisper visuals at the expense of memory.  Lower values will cause the control
     * to appear blurry.
    */
    pixelScalingRatio?: number | string;
    /**
     * Method of pixel scaling to use during end user interaction with the chart.
    */
    interactionPixelScalingRatio?: number | string;
    /**
     * Uri for the background image to display behind the overview plus detail pane.
    */
    overviewPlusDetailPaneBackgroundImageUri?: string;
    /**
     * Gets the resolved pixel scaling ratio.
    *
    * A higher scaling ratio will produce crisper visuals at the expense of memory. Lower values will cause the control to appear blurry
    *
    * ```ts
    * let actualPixelScalingRatio: number = this.chart.actualPixelScalingRatio;
    * ```
    */
    actualPixelScalingRatio?: number | string;
    /**
     * Resolved method of pixel scaling to use during end user interaction with the chart.
    *
    * ```ts
    * let actualInteractionPixelScalingRatio: number = this.chart.actualInteractionPixelScalingRatio;
    * ```
    */
    actualInteractionPixelScalingRatio?: number | string;
    /**
     * Gets the actual value of the window rectangle, which represents the current zoom level.
    *
    * ```ts
    * let actualWindowRect: IgxRect = this.chart.actualWindowRect;
    * ``
    * ```
    */
    actualWindowRect?: IgRect | string;
    /**
     * A number between 0 and 1 determining the position of the horizontal scroll.
     * This property is effectively a shortcut to the Left of the ActualWindowRect property.
    *
    * ```ts
    * let actualWindowPositionHorizontal: number = this.chart.actualWindowPositionHorizontal;
    * ```
    */
    actualWindowPositionHorizontal?: number | string;
    /**
     * A number between 0 and 1 determining the position of the vertical scroll.
     * This property is effectively a shortcut to the Top of the ActualWindowRect property.
    *
    * ```ts
    * let actualWindowPositionVertical: number = this.chart.actualWindowPositionVertical;
    * ``
    * ```
    */
    actualWindowPositionVertical?: number | string;
    /**
     * Occurs when the cursors are moved over a series in this SeriesViewer.
    */
    seriesCursorMouseMove?: (s: IgrSeriesViewer, e: ChartCursorEventArgs) => void;
    /**
     * Occurs when the left mouse button is pressed while the mouse pointer is over a Series.
    *
    * &lt;-- position: content member-->
    *
    * ```html
    * <igx-data-chart
    *     [dataSource]="data"
    *     (seriesMouseLeftButtonDown)="onSeriesMouseLeftButtonDown($event)">
    *     <igx-category-x-axis
    *         label="label"
    *         #xAxis>
    *     </igx-category-x-axis>
    *     <igx-numeric-y-axis
    *         #yAxis>
    *     </igx-numeric-y-axis>
    *     <igx-line-series
    *         [xAxis]="xAxis"
    *         [yAxis]="yAxis"
    *         valueMemberPath="value"
    *         thickness=5>
    *     </igx-line-series>
    * </igx-data-chart>
    * ```
    *
    * &lt;-- position: content member-->
    *
    * ```ts
    * public onSeriesMouseLeftButtonDown(event: {sender: any, args: DataChartMouseButtonEventArgs})
    * {
    *     var item = event.args.item;
    * }
    * ```
    */
    seriesMouseLeftButtonDown?: (s: IgrSeriesViewer, e: DataChartMouseButtonEventArgs) => void;
    /**
     * Occurs when the left mouse button is released while the mouse pointer is over a Series.
    *
    * &lt;-- position: content member-->
    *
    * ```html
    * <igx-data-chart
    *     [dataSource]="data"
    *     (seriesMouseLeftButtonUp)="onSeriesMouseLeftButtonUp($event)">
    *     <igx-category-x-axis
    *         label="label"
    *         #xAxis>
    *     </igx-category-x-axis>
    *     <igx-numeric-y-axis
    *         #yAxis>
    *     </igx-numeric-y-axis>
    *     <igx-line-series
    *         [xAxis]="xAxis"
    *         [yAxis]="yAxis"
    *         valueMemberPath="value"
    *         thickness=5>
    *     </igx-line-series>
    * </igx-data-chart>
    * ```
    *
    * &lt;-- position: content member-->
    *
    * ```ts
    * public onSeriesMouseLeftButtonUp(event: {sender: any, args: DataChartMouseButtonEventArgs})
    * {
    *     var item = event.args.item;
    * }
    * ```
    */
    seriesMouseLeftButtonUp?: (s: IgrSeriesViewer, e: DataChartMouseButtonEventArgs) => void;
    /**
     * Occurs when the mouse pointer moves while over a Series.
    *
    * &lt;-- position: content member-->
    *
    * ```html
    * <igx-data-chart
    *     [dataSource]="data"
    *     (seriesMouseMove)="onSeriesMouseMove($event)">
    *     <igx-category-x-axis
    *         label="label"
    *         #xAxis>
    *     </igx-category-x-axis>
    *     <igx-numeric-y-axis
    *         #yAxis>
    *     </igx-numeric-y-axis>
    *     <igx-line-series
    *         [xAxis]="xAxis"
    *         [yAxis]="yAxis"
    *         valueMemberPath="value"
    *         thickness=5>
    *     </igx-line-series>
    * </igx-data-chart>
    * ```
    *
    * &lt;-- position: content member-->
    *
    * ```ts
    * public onSeriesMouseMove(event: {sender: any, args: ChartMouseEventArgs})
    * {
    *     var item = event.args.item;
    * }
    * ```
    */
    seriesMouseMove?: (s: IgrSeriesViewer, e: ChartMouseEventArgs) => void;
    /**
     * Occurs when the mouse pointer enters a Series.
    *
    * &lt;-- position: content member-->
    *
    * ```html
    * <igx-data-chart
    *     [dataSource]="data"
    *     (seriesMouseEnter)="onSeriesMouseEnter($event)">
    *     <igx-category-x-axis
    *         label="label"
    *         #xAxis>
    *     </igx-category-x-axis>
    *     <igx-numeric-y-axis
    *         #yAxis>
    *     </igx-numeric-y-axis>
    *     <igx-line-series
    *         [xAxis]="xAxis"
    *         [yAxis]="yAxis"
    *         valueMemberPath="value"
    *         thickness=5>
    *     </igx-line-series>
    * </igx-data-chart>
    * ```
    *
    * &lt;-- position: content member-->
    *
    * ```ts
    * public onSeriesMouseEnter(event: {sender: any, args: ChartMouseEventArgs})
    * {
    *     var item = event.args.item;
    * }
    * ```
    */
    seriesMouseEnter?: (s: IgrSeriesViewer, e: ChartMouseEventArgs) => void;
    /**
     * Occurs when the mouse pointer leaves a Series.
    *
    * &lt;-- position: content member-->
    *
    * ```html
    * <igx-data-chart
    *     [dataSource]="data"
    *     (seriesMouseLeave)="onSeriesMouseLeave($event)">
    *     <igx-category-x-axis
    *         label="label"
    *         #xAxis>
    *     </igx-category-x-axis>
    *     <igx-numeric-y-axis
    *         #yAxis>
    *     </igx-numeric-y-axis>
    *     <igx-line-series
    *         [xAxis]="xAxis"
    *         [yAxis]="yAxis"
    *         valueMemberPath="value"
    *         thickness=5>
    *     </igx-line-series>
    * </igx-data-chart>
    * ```
    *
    * &lt;-- position: content member-->
    *
    * ```ts
    * public onSeriesMouseLeave(event: {sender: any, args: ChartMouseEventArgs})
    * {
    *     var item = event.args.item;
    * }
    * ```
    */
    seriesMouseLeave?: (s: IgrSeriesViewer, e: ChartMouseEventArgs) => void;
    /**
     * Occurs just after the current SeriesViewer's window rectangle is changed.
    *
    * &lt;-- position: content member-->
    *
    * ```html
    * <igx-data-chart
    *     [dataSource]="data"
    *     isHorizontalZoomEnabled=true
    *     (windowRectChanged)="onWindowRectChanged($event)">
    *     <igx-category-x-axis
    *         label="label"
    *         #xAxis>
    *     </igx-category-x-axis>
    *     <igx-numeric-y-axis
    *         #yAxis>
    *     </igx-numeric-y-axis>
    *     <igx-line-series
    *         [xAxis]="xAxis"
    *         [yAxis]="yAxis"
    *         valueMemberPath="value">
    *     </igx-line-series>
    * </igx-data-chart>
    * ```
    *
    * &lt;-- position: content member-->
    *
    * ```ts
    * public onWindowRectChanged(event: {sender: any, args: RectChangedEventArgs})
    * {
    *     let newRect: IgxRect = event.args.newRect;
    * }
    * ```
    */
    windowRectChanged?: (s: IgrSeriesViewer, e: RectChangedEventArgs) => void;
    /**
     * Occurs after the size of the series viewer changes.
    *
    * &lt;-- position: content member-->
    *
    * ```html
    * <igx-data-chart
    *     [dataSource]="data"
    *     (sizeChanged)="onSizeChanged($event)">
    *     <igx-category-x-axis
    *         label="label"
    *         #xAxis>
    *     </igx-category-x-axis>
    *     <igx-numeric-y-axis
    *         #yAxis>
    *     </igx-numeric-y-axis>
    *     <igx-line-series
    *         [xAxis]="xAxis"
    *         [yAxis]="yAxis"
    *         valueMemberPath="value">
    *     </igx-line-series>
    * </igx-data-chart>
    * ```
    *
    * &lt;-- position: content member-->
    *
    * ```ts
    * public onSizeChanged(event: {sender: any, args: RectChangedEventArgs})
    * {
    *     let newRect: IgxRect = event.args.newRect;
    * }
    * ```
    */
    sizeChanged?: (s: IgrSeriesViewer, e: RectChangedEventArgs) => void;
    /**
     * Occurs just after the current SeriesViewer's grid area rectangle is changed.
     * The grid area may change as the result of the SeriesViewer being resized, or
     * of an axis being added or changing size, possibly in another SeriesViewer.
    */
    gridAreaRectChanged?: (s: IgrSeriesViewer, e: RectChangedEventArgs) => void;
}
