import { OnDestroy, EventEmitter, TemplateRef, AfterViewInit, ViewContainerRef, Injector, ComponentFactoryResolver, Renderer2, QueryList, ElementRef, NgZone } from '@angular/core';
import { FinancialChart } from './FinancialChart';
import { FinancialChartType } from './FinancialChartType';
import { IgCollection } from "igniteui-angular-core";
import { IgxXYChartComponent } from './igx-xy-chart-component';
import { DataSeriesType } from "igniteui-angular-core";
import { FinancialChartVolumeType } from './FinancialChartVolumeType';
import { FinancialChartXAxisMode } from './FinancialChartXAxisMode';
import { FinancialChartYAxisMode } from './FinancialChartYAxisMode';
import { HorizontalAlignment } from "igniteui-angular-core";
import { AxisLabelsLocation } from './AxisLabelsLocation';
import { FinancialChartZoomSliderType } from './FinancialChartZoomSliderType';
import { IgxFinancialChartDefaultTemplatesComponent } from './igx-financial-chart-default-templates-component';
import { IgxTemplateContentComponent } from "igniteui-angular-core";
import { IgxFinancialIndicatorTypeCollection } from './igx-financial-indicator-type-collection';
import { IgxFinancialOverlayTypeCollection } from './igx-financial-overlay-type-collection';
import { IgxIndicatorDisplayTypeCollection } from './igx-indicator-display-type-collection';
import { IgxFinancialChartRangeSelectorOptionCollection } from './igx-financial-chart-range-selector-option-collection';
import { IgxFinancialChartCustomIndicatorArgs } from './igx-financial-chart-custom-indicator-args';
import { IgxCustomIndicatorNameCollection } from './igx-custom-indicator-name-collection';
export declare const IgxFinancialChartComponent_PROVIDERS: any[];
/**
 * Represents a chart with an ordinal X-axis and a numeric Y-axis.
*
* **Ignite UI for Angular Financial Chart** - [Documentation](https://www.infragistics.com/products/ignite-ui-angular/angular/components/FinancialChart.html)
*
* The Ignite UI Financial Chart is a lightweight, highly performant chart. It can be easily configured to display category data using an extremely simple and intuitive API. It offers multiple ways for the user to visualize data, including several display modes for price and volume, and many financial indicators.
*
* ```html
* <igx-financial-chart [dataSource]="data"
* 					 width="850px" height="600px">
* </igx-financial-chart>
* ```
*/
export declare class IgxFinancialChartComponent extends IgxXYChartComponent implements AfterViewInit, OnDestroy {
    private renderer;
    private _elRef;
    private ngZone;
    private injector;
    private componentFactoryResolver;
    container: Element;
    _dynamicContent: ViewContainerRef;
    _defaultTemplates: IgxFinancialChartDefaultTemplatesComponent;
    _templates: QueryList<IgxTemplateContentComponent>;
    _toolbarElement: ElementRef;
    _mainElement: ElementRef;
    private _height;
    private _width;
    height: string;
    width: string;
    rangeSelectorTemplate: TemplateRef<any>;
    chartTypePickerTemplate: TemplateRef<any>;
    indicatorMenuTemplate: TemplateRef<any>;
    toolbarTemplate: TemplateRef<any>;
    chartTemplate: TemplateRef<any>;
    private _wrapper;
    constructor(renderer: Renderer2, _elRef: ViewContainerRef, ngZone: NgZone, injector: Injector, componentFactoryResolver: ComponentFactoryResolver);
    private _checkToolbarSize;
    ngOnDestroy(): void;
    onDocumentClick(ev: Event): void;
    private rewrapAxis;
    protected createImplementation(): FinancialChart;
    readonly i: FinancialChart;
    protected createSeriesComponent(type: string): any;
    protected createIndicator(typeName: string): any;
    protected createOverlay(typeName: string): any;
    protected createSeries(type: DataSeriesType): any;
    protected createXAxis(type: FinancialChartXAxisMode): any;
    protected createYAxis(type: FinancialChartYAxisMode): any;
    protected createTimeAxisBreakCollection(): any;
    private _chart;
    private _dataSource;
    dataSource: Array<any>;
    bindData(): void;
    private _defaultTooltips;
    ngAfterViewInit(): void;
    private _createZoomSlider;
    private createTooltip;
    private _ensureTooltipCreated;
    private _ensureDefaultTooltip;
    private _onDefaultTooltipsReady;
    protected onImplementationCreated(): void;
    private _xAxisBreaks;
    /**
     * TimeAxisBreaks to apply to this chart when in time axis mode, representing spans of time to omit, such as weekends.
    */
    xAxisBreaks: IgCollection<any, any>;
    leftMargin: number;
    isHorizontalZoomEnabled: boolean;
    toolbarHeight: number;
    /**
     * Gets or sets whether the Y-axis should use a logarithmic scale instead of a linear one.
     * Since log(-1) is imaginary and log(0) is undefined, it is recommended to enable this property only when the Y-axis minimum is greater than zero.
    */
    yAxisIsLogarithmic: boolean;
    /**
     * Gets or sets the base value to use in the log function when mapping the position of data items along the Y-axis.
     * This property is effective only when YAxisIsLogarithmic is true.
    */
    yAxisLogarithmBase: number;
    /**
     * Gets or sets the distance between each label and grid line along the Y-axis.
    *
    * The `yAxisInterval` determines how often to show a label, tickmark, and/or gridline along the y-axis.  Set this property to a number less than the numeric range of the y-axis.
    *
    * ```html
    * <igx-financial-chart
    *     [dataSource]="data"
    *     yAxisInterval="10">
    * </igx-financial-chart>
    * ```
    */
    yAxisInterval: number;
    /**
     * Gets or sets the data value corresponding to the minimum value of the Y-axis.
    *
    * The `yAxisMinimumValue` determines starting value of labels, tickmarks, and gridlines on the y-axis.
    *
    * ```html
    * <igx-financial-chart
    *     [dataSource]="data"
    *     yAxisMinimumValue="10">
    * </igx-financial-chart>
    * ```
    */
    yAxisMinimumValue: number;
    /**
     * Gets or sets the data value corresponding to the maximum value of the Y-axis.
    *
    * The `yAxisMaximumValue` determines ending value of labels, tickmarks, and gridlines on the y-axis.
    *
    * ```html
    * <igx-financial-chart
    *     [dataSource]="data"
    *     yAxisMaximumValue="100">
    * </igx-financial-chart>
    * ```
    */
    yAxisMaximumValue: number;
    /**
     * Gets or sets the frequency of displayed minor lines along the Y-axis.
    *
    * The `yAxisMinorInterval` determines how often to show minor gridline along the y-axis.  Set this property to a number less than the `yAxisInterval` and the numeric range of the y-axis.
    *
    * ```html
    * <igx-financial-chart
    *     [dataSource]="data"
    *     yAxisMinorInterval="5">
    * </igx-financial-chart>
    * ```
    */
    yAxisMinorInterval: number;
    /**
     * Gets the current minimum value for the Y-axis.
    */
    readonly yAxisActualMinimum: number;
    /**
     * Gets the current maximum value for the Y-axis.
    */
    readonly yAxisActualMaximum: number;
    /**
     * The type of series to display in the volume pane.
    *
    * Use the `volumeType` property to set a type of all series that will be rendered in the volume pane, e.g.
    *
    * ```html
    * <igx-financial-chart
    *     [dataSource]="data"
    *     volumeType="Column">
    * </igx-financial-chart>
    * ```
    */
    volumeType: FinancialChartVolumeType;
    /**
     * The scaling mode of the X-axis.
    *
    * Use the `xAxisMode` property to plot data items without any breaks in data range (Ordinal mode) or with breaks in data range (Time mode) such as weekends/holidays. Note that the Ordinal axis mode is less expensive to use in the financial chart than the Time axis mode.
    *
    * ```html
    * <igx-financial-chart
    *     [dataSource]="data"
    *     xAxisMode="Time">
    * </igx-financial-chart>
    * ```
    */
    xAxisMode: FinancialChartXAxisMode;
    /**
     * The scaling mode of the Y-axis.
    *
    * Use the `yAxisMode` property to plot data items using their actual values (Numeric) or using percent changes from the first data point (PercentChange), e.g.
    *
    * ```html
    * <igx-financial-chart
    *     [dataSource]="data"
    *     yAxisMode="PercentChange">
    * </igx-financial-chart>
    * ```
    */
    yAxisMode: FinancialChartYAxisMode;
    /**
     * A boolean property controlling the visibility of the toolbar.
    */
    isToolbarVisible: boolean;
    /**
     * The type of price series to display in the main chart.
    *
    * Use the `chartType` property to set a type of series that will be used to render prices in the Financial Chart control, e.g.
    *
    * ```html
    * <igx-financial-chart
    *     [dataSource]="data"
    *     chartType="Candle">
    * </igx-financial-chart>
    * ```
    */
    chartType: FinancialChartType;
    /**
     * Gets or sets Horizontal alignment of Y-axis labels.
    */
    yAxisLabelHorizontalAlignment: HorizontalAlignment;
    /**
     * A boolean indicating whether the chart should automatically zoom in vertically on the currently visible range of data.
     * When this property is set to true, panning and zooming along the X-axis will result in a corresponding zoom on the Y-axis, so that the visible range of data fills the zoom window as fully as possible.
    */
    isWindowSyncedToVisibleRange: boolean;
    private _indicatorTypes;
    /**
     * A collection indicating what financial indicator types to display on the Financial Chart.
    *
    * Use the `indicatorTypes` property to set types of indicators that will be rendered below the price pane in the Financial Chart control, e.g.
    *
    * ```html
    * <igx-financial-chart
    *     [dataSource]="data"
    *     indicatorTypes="MoneyFlowIndex, AverageTrueRange">
    * </igx-financial-chart>
    * ```
    */
    indicatorTypes: IgxFinancialIndicatorTypeCollection;
    private _overlayTypes;
    /**
     * A collection indicating what financial overlay types to display on the Financial Chart.
    *
    * Use the `overlayTypes` property to set types of overlays that will be rendered behind price series in the Financial Chart control, e.g.
    *
    * ```html
    * <igx-financial-chart
    *     [dataSource]="data"
    *     overlayTypes="BollingerBands">
    * </igx-financial-chart>
    * ```
    */
    overlayTypes: IgxFinancialOverlayTypeCollection;
    /**
     * Gets or sets whether the large numbers on the Y-axis labels are abbreviated.
    */
    yAxisAbbreviateLargeNumbers: boolean;
    /**
     * Gets or sets the rendering resolution for all series in this chart.
     * Where n = Resolution, for every n horizontal pixels, combine all items into a single datapoint.  When Resolution = 0, all datapoints will be rendered as graphical objects.  Charts with a higher resolution will have faster performance.
    */
    resolution: number;
    /**
     * Gets or sets the location of Y-axis labels, relative to the plot area.
    */
    yAxisLabelLocation: AxisLabelsLocation;
    /**
     * Gets or sets type of series to display in the zoom slider pane.
    *
    * Use the `zoomSliderType` property to set a type of all series that will be rendered in the zoom pane, e.g.
    *
    * ```html
    * <igx-financial-chart
    *     [dataSource]="data"
    *     zoomSliderType="Candle">
    * </igx-financial-chart>
    * ```
    */
    zoomSliderType: FinancialChartZoomSliderType;
    /**
     * Gets or sets the palette used for coloring negative items of Waterfall chart type.
    *
    * Use the `negativeBrushes` property to set a collection of brushes that will be used to render fill area of negative elements in the price pane, e.g.
    *
    * ```html
    * <igx-financial-chart
    *     [dataSource]="data"
    *     negativeBrushes="Red, Orange">
    * </igx-financial-chart>
    * ```
    */
    negativeBrushes: string[];
    /**
     * Brushes to use for drawing negative elements, when using a chart type with contextual coloring, such as Waterfall.
    *
    * Use the `negativeOutlines` property to set a collection of brushes that will be used to render outline of negative elements in the price pane, e.g.
    *
    * ```html
    * <igx-financial-chart
    *     [dataSource]="data"
    *     negativeOutlines="Red, Orange">
    * </igx-financial-chart>
    * ```
    */
    negativeOutlines: string[];
    /**
     * Brushes to use for filling financial overlays.
    *
    * Use the `overlayBrushes` property to set a collection of brushes that will be used to render fill area of overlays in the Financial Chart control, e.g.
    *
    * ```html
    * <igx-financial-chart
    *     [dataSource]="data"
    *     overlayTypes="BollingerBands"
    *     overlayBrushes="Green">
    * </igx-financial-chart>
    * ```
    */
    overlayBrushes: string[];
    /**
     * Brushes to use for outlining financial overlays.
    *
    * Use the `overlayOutlines` property to set a collection of brushes that will be used to render outlines of overlays in the Financial Chart control, e.g.
    *
    * ```html
    * <igx-financial-chart
    *     [dataSource]="data"
    *     overlayTypes="BollingerBands"
    *     overlayOutlines="Green">
    * </igx-financial-chart>
    * ```
    */
    overlayOutlines: string[];
    /**
     * Brushes to use for outlining volume series in the volume pane.
    *
    * Use the `volumeOutlines` property to set a collection of brushes that will be used to render outline of multiple series in the volume pane of the Financial Chart control, e.g.
    *
    * ```html
    * <igx-financial-chart
    *     [dataSource]="data"
    *     volumeOutlines="Green, Blue">
    * </igx-financial-chart>
    * ```
    */
    volumeOutlines: string[];
    /**
     * Brushes to use for filling volume series in the volume pane.
    *
    * Use the `volumeBrushes` property to set a collection of brushes that will be used to render fill area of multiple series in the volume pane of the Financial Chart control, e.g.
    *
    * ```html
    * <igx-financial-chart
    *     [dataSource]="data"
    *     volumeBrushes="Green, Blue">
    * </igx-financial-chart>
    * ```
    */
    volumeBrushes: string[];
    /**
     * Brushes to use for negative elements in financial indicators.
    *
    * Use the `indicatorNegativeBrushes` property to set a collection of brushes that will be used to render negative elements of indicators in the Financial Chart control, e.g.
    *
    * ```html
    * <igx-financial-chart
    *     [dataSource]="data"
    *     indicatorTypes="MoneyFlowIndex, AverageTrueRange"
    *     indicatorNegativeBrushes="Red, Orange">
    * </igx-financial-chart>
    * ```
    */
    indicatorNegativeBrushes: string[];
    /**
     * Brushes to use for financial indicators.
    *
    * Use the `indicatorBrushes` property to set a collection of brushes that will be used to render positive elements of indicators in the Financial Chart control, e.g.
    *
    * ```html
    * <igx-financial-chart
    *     [dataSource]="data"
    *     indicatorTypes="MoneyFlowIndex, AverageTrueRange"
    *     indicatorBrushes="Green, Blue">
    * </igx-financial-chart>
    * ```
    */
    indicatorBrushes: string[];
    /**
     * The outline thickness of volume series in the volume pane.
    *
    * Use the `volumeThickness` property to set a number that will be used to render outline thickness of all series in the volume pane, e.g.
    *
    * ```html
    * <igx-financial-chart
    *     [dataSource]="data"
    *     volumeThickness="2.5">
    * </igx-financial-chart>
    * ```
    */
    volumeThickness: number;
    /**
     * The outline thickness of financial overlays.
    *
    * Use the `overlayThickness` property to set a number that will be used to render outline thickness of all overlays in the Financial Chart control, e.g.
    *
    * ```html
    * <igx-financial-chart
    *     [dataSource]="data"
    *     overlayTypes="BollingerBands"
    *     overlayThickness="2.5">
    * </igx-financial-chart>
    * ```
    */
    overlayThickness: number;
    /**
     * The outline or stroke thickness of financial indicators.
    *
    * Use the `indicatorThickness` property to set a number that will be used to render outline thickness of all indicators in the Financial Chart control, e.g.
    *
    * ```html
    * <igx-financial-chart
    *     [dataSource]="data"
    *     indicatorTypes="MoneyFlowIndex, AverageTrueRange"
    *     indicatorThickness="2.5">
    * </igx-financial-chart>
    * ```
    */
    indicatorThickness: number;
    private _indicatorDisplayTypes;
    /**
     * The display types of financial indicators.
    *
    * Use the `indicatorDisplayTypes` property to set display types that will determine whether render all indicators as area, lines, or columns in the Financial Chart control, e.g.
    *
    * ```html
    * <igx-financial-chart
    *     [dataSource]="data"
    *     indicatorTypes="MoneyFlowIndex, AverageTrueRange"
    *     indicatorDisplayTypes="Line, Line">
    * </igx-financial-chart>
    * ```
    */
    indicatorDisplayTypes: IgxIndicatorDisplayTypeCollection;
    /**
     * The period of financial indicators, where applicable.
    *
    * The `indicatorPeriod` property applies to only the `BollingerBands` overlay as well as to these indicators types: `AverageDirectionalIndex`, `AverageTrueRange`, `BollingerBandWidth`, `ChaikinVolatility`, `CommodityChannelIndex`, `DetrendedPriceOscillator`, `FastStochasticOscillator`, `ForceIndex`, `FullStochasticOscillator`, `MoneyFlowIndex`, `IgxPriceChannelOverlayComponent`, `RateOfChangeAndMomentum`, `RelativeStrengthIndex`, `SlowStochasticOscillator`, `StandardDeviation`, `StochRSI`, `TRIX`, `WilliamsPercentR`
    *
    * ```html
    * <igx-financial-chart
    *     [dataSource]="data"
    *     indicatorTypes="AverageTrueRange"
    *     indicatorPeriod="8">
    * </igx-financial-chart>
    * ```
    */
    indicatorPeriod: number;
    /**
     * The multiplier of financial indicators, where applicable.
    *
    * The `indicatorMultiplier` property applies to only to BollingerBandWidth indicator type.
    *
    * ```html
    * <igx-financial-chart
    *     [dataSource]="data"
    *     indicatorTypes="BollingerBandWidth"
    *     indicatorMultiplier="8">
    * </igx-financial-chart>
    * ```
    */
    indicatorMultiplier: number;
    /**
     * The smoothing period of financial indicators, where applicable.
    *
    * The `indicatorSmoothingPeriod` property applies to only to `FullStochasticOscillator` indicator type.
    *
    * ```html
    * <igx-financial-chart
    *     [dataSource]="data"
    *     indicatorTypes="FullStochasticOscillator"
    *     indicatorSmoothingPeriod="8">
    * </igx-financial-chart>
    * ```
    */
    indicatorSmoothingPeriod: number;
    /**
     * The short period of financial indicators, where applicable.
    *
    * The `indicatorShortPeriod` property applies only to these indicator types:
    *
    * -   AbsoluteVolumeOscillator,
    * -   ChaikinOscillator,
    * -   MovingAverageConvergenceDivergence,
    * -   PercentagePriceOscillator,
    * -   PercentageVolumeOscillator,
    *
    * ```html
    * <igx-financial-chart
    *     [dataSource]="data"
    *     indicatorTypes="ChaikinOscillator"
    *     indicatorShortPeriod="8">
    * </igx-financial-chart>
    * ```
    */
    indicatorShortPeriod: number;
    /**
     * The long period of financial indicators, where applicable.
    *
    * The `indicatorLongPeriod` property applies only to these indicator types:
    *
    * -   AbsoluteVolumeOscillator,
    * -   ChaikinOscillator,
    * -   MovingAverageConvergenceDivergence,
    * -   PercentagePriceOscillator,
    * -   PercentageVolumeOscillator,
    *
    * ```html
    * <igx-financial-chart
    *     [dataSource]="data"
    *     indicatorTypes="ChaikinOscillator"
    *     indicatorLongPeriod="8">
    * </igx-financial-chart>
    * ```
    */
    indicatorLongPeriod: number;
    /**
     * The signal period of financial indicators, where applicable.
    *
    * The `indicatorSignalPeriod` property applies to only to MovingAverageConvergenceDivergence indicator type.
    *
    * ```html
    * <igx-financial-chart
    *     [dataSource]="data"
    *     indicatorTypes="MovingAverageConvergenceDivergence"
    *     indicatorSignalPeriod="8">
    * </igx-financial-chart>
    * ```
    */
    indicatorSignalPeriod: number;
    private _rangeSelectorOptions;
    /**
     * A FinancialChartRangeSelectorOptionCollection containing the available range selector options on the toolbar.
    */
    rangeSelectorOptions: IgxFinancialChartRangeSelectorOptionCollection;
    private _customIndicatorNames;
    /**
     * The names of custom indicators to add to the chart.
     * When CustomIndicatorNames is set, the ApplyCustomIndicators event will be raised for each custom indicator name.
    */
    customIndicatorNames: IgxCustomIndicatorNameCollection;
    isVerticalZoomEnabled: boolean;
    /**
     * Gets or sets stroke brush of major gridlines on x-axis of the zoom slider pane
    */
    zoomSliderXAxisMajorStroke: string;
    /**
     * Gets or sets thickness of major gridlines on x-axis of the zoom slider pane
    */
    zoomSliderXAxisMajorStrokeThickness: number;
    /**
     * Gets or sets weather or not a legend is visible between toolbar and chart's plot area
    */
    isLegendVisible: boolean;
    /**
     * Gets or sets minimum value on x-axis
    */
    xAxisMinimumValue: Date;
    /**
     * Gets or sets maximum value on x-axis
    */
    xAxisMaximumValue: Date;
    /**
 * Called by the UI framework to provide a UI container for rendering this control.

* @param container  * The UI container element.
*/
    provideContainer(container: any): void;
    notifyInsertItem(source_: any, index: number, newItem: any): void;
    notifyRemoveItem(source_: any, index: number, oldItem: any): void;
    notifyClearItems(source_: any): void;
    notifySetItem(source_: any, index: number, oldItem: any, newItem: any): void;
    /**
     * Returns visuals as a serialized string.
    
    */
    exportSerializedVisualData(): string;
    private _applyCustomIndicators;
    /**
     * Event raised by the chart when custom indicator data is needed from the application.
     * During series rendering, event will be raised once for each value in the CustomIndicatorNames collection.
    */
    readonly applyCustomIndicators: EventEmitter<{
        sender: any;
        args: IgxFinancialChartCustomIndicatorArgs;
    }>;
}
