import { FinancialChartVolumeType } from "./FinancialChartVolumeType";
import { FinancialChartXAxisMode } from "./FinancialChartXAxisMode";
import { FinancialChartYAxisMode } from "./FinancialChartYAxisMode";
import { FinancialChartType } from "./FinancialChartType";
import { HorizontalAlignment } from "igniteui-react-core/ES2015/HorizontalAlignment";
import { FinancialIndicatorTypeCollection } from "./igr-financial-indicator-type-collection";
import { FinancialOverlayTypeCollection } from "./igr-financial-overlay-type-collection";
import { AxisLabelsLocation } from "./AxisLabelsLocation";
import { FinancialChartZoomSliderType } from "./FinancialChartZoomSliderType";
import { IndicatorDisplayTypeCollection } from "./igr-indicator-display-type-collection";
import { FinancialChartRangeSelectorOptionCollection } from "./igr-financial-chart-range-selector-option-collection";
import { CustomIndicatorNameCollection } from "./igr-custom-indicator-name-collection";
import { FinancialChartCustomIndicatorArgs } from "./igr-financial-chart-custom-indicator-args";
import { IgrXYChart, IIgrXYChartProps } from "./igr-xy-chart";
import { FinancialChart } from "./FinancialChart";
/**
 * Represents a chart with an ordinal X-axis and a numeric Y-axis.
*/
export declare class IgrFinancialChart extends IgrXYChart<IIgrFinancialChartProps> {
    protected createImplementation(): FinancialChart;
    readonly i: FinancialChart;
    constructor(props: IIgrFinancialChartProps);
    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.
    */
    yAxisInterval: number;
    /**
     * Gets or sets the data value corresponding to the minimum value of the Y-axis.
    */
    yAxisMinimumValue: number;
    /**
     * Gets or sets the data value corresponding to the maximum value of the Y-axis.
    */
    yAxisMaximumValue: number;
    /**
     * Gets or sets the frequency of displayed minor lines along the Y-axis.
    */
    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.
    */
    volumeType: FinancialChartVolumeType;
    /**
     * The scaling mode of the X-axis.
    */
    xAxisMode: FinancialChartXAxisMode;
    /**
     * The scaling mode of the Y-axis.
    */
    yAxisMode: FinancialChartYAxisMode;
    /**
     * A boolean property controlling the visibility of the toolbar.
    */
    isToolbarVisible: boolean;
    /**
     * The type of price series to display in the main 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.
    */
    indicatorTypes: FinancialIndicatorTypeCollection;
    private _overlayTypes;
    /**
     * A collection indicating what financial overlay types to display on the Financial Chart.
    */
    overlayTypes: FinancialOverlayTypeCollection;
    /**
     * 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;
    /**
     * The location of Y-axis labels, relative to the plot area.
    */
    yAxisLabelLocation: AxisLabelsLocation;
    /**
     * The type of series to display in the zoom slider pane.
    */
    zoomSliderType: FinancialChartZoomSliderType;
    /**
     * Gets or sets the palette used for coloring negative items of Waterfall chart type.
    */
    negativeBrushes: string[];
    /**
     * Brushes to use for drawing negative elements, when using a chart type with contextual coloring, such as Waterfall.
    */
    negativeOutlines: string[];
    /**
     * Brushes to use for filling financial overlays.
    */
    overlayBrushes: string[];
    /**
     * Brushes to use for outlining financial overlays.
    */
    overlayOutlines: string[];
    /**
     * Brushes to use for outlining volume series in the volume pane.
    */
    volumeOutlines: string[];
    /**
     * Brushes to use for filling volume series in the volume pane.
    */
    volumeBrushes: string[];
    /**
     * Brushes to use for negative elements in financial indicators.
    */
    indicatorNegativeBrushes: string[];
    /**
     * Brushes to use for financial indicators.
    */
    indicatorBrushes: string[];
    /**
     * The outline thickness of volume series in the volume pane.
    */
    volumeThickness: number;
    /**
     * The outline thickness of financial overlays.
    */
    overlayThickness: number;
    /**
     * The outline or stroke thickness of financial indicators.
    */
    indicatorThickness: number;
    private _indicatorDisplayTypes;
    /**
     * The display types of financial indicators.
    */
    indicatorDisplayTypes: IndicatorDisplayTypeCollection;
    /**
     * The period of financial indicators, where applicable.
    */
    indicatorPeriod: number;
    /**
     * The multiplier of financial indicators, where applicable.
    */
    indicatorMultiplier: number;
    /**
     * The smoothing period of financial indicators, where applicable.
    */
    indicatorSmoothingPeriod: number;
    /**
     * The short period of financial indicators, where applicable.
    */
    indicatorShortPeriod: number;
    /**
     * The long period of financial indicators, where applicable.
    */
    indicatorLongPeriod: number;
    /**
     * The signal period of financial indicators, where applicable.
    */
    indicatorSignalPeriod: number;
    private _rangeSelectorOptions;
    /**
     * A FinancialChartRangeSelectorOptionCollection containing the available range selector options on the toolbar.
    */
    rangeSelectorOptions: FinancialChartRangeSelectorOptionCollection;
    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: CustomIndicatorNameCollection;
    isVerticalZoomEnabled: boolean;
    zoomSliderXAxisMajorStroke: string;
    zoomSliderXAxisMajorStrokeThickness: number;
    isLegendVisible: boolean;
    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;
    private _applyCustomIndicators_wrapped;
    /**
     * 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.
    */
    protected applyCustomIndicators: (s: IgrFinancialChart, e: FinancialChartCustomIndicatorArgs) => void;
}
export interface IIgrFinancialChartProps extends IIgrXYChartProps {
    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.
    */
    yAxisInterval?: number;
    /**
     * Gets or sets the data value corresponding to the minimum value of the Y-axis.
    */
    yAxisMinimumValue?: number;
    /**
     * Gets or sets the data value corresponding to the maximum value of the Y-axis.
    */
    yAxisMaximumValue?: number;
    /**
     * Gets or sets the frequency of displayed minor lines along the Y-axis.
    */
    yAxisMinorInterval?: number;
    /**
     * The type of series to display in the volume pane.
    */
    volumeType?: FinancialChartVolumeType;
    /**
     * The scaling mode of the X-axis.
    */
    xAxisMode?: FinancialChartXAxisMode;
    /**
     * The scaling mode of the Y-axis.
    */
    yAxisMode?: FinancialChartYAxisMode;
    /**
     * A boolean property controlling the visibility of the toolbar.
    */
    isToolbarVisible?: boolean;
    /**
     * The type of price series to display in the main 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;
    /**
     * A collection indicating what financial indicator types to display on the Financial Chart.
    */
    indicatorTypes?: FinancialIndicatorTypeCollection | string;
    /**
     * A collection indicating what financial overlay types to display on the Financial Chart.
    */
    overlayTypes?: FinancialOverlayTypeCollection | string;
    /**
     * 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;
    /**
     * The location of Y-axis labels, relative to the plot area.
    */
    yAxisLabelLocation?: AxisLabelsLocation;
    /**
     * The type of series to display in the zoom slider pane.
    */
    zoomSliderType?: FinancialChartZoomSliderType;
    /**
     * Gets or sets the palette used for coloring negative items of Waterfall chart type.
    */
    negativeBrushes?: string[];
    /**
     * Brushes to use for drawing negative elements, when using a chart type with contextual coloring, such as Waterfall.
    */
    negativeOutlines?: string[];
    /**
     * Brushes to use for filling financial overlays.
    */
    overlayBrushes?: string[];
    /**
     * Brushes to use for outlining financial overlays.
    */
    overlayOutlines?: string[];
    /**
     * Brushes to use for outlining volume series in the volume pane.
    */
    volumeOutlines?: string[];
    /**
     * Brushes to use for filling volume series in the volume pane.
    */
    volumeBrushes?: string[];
    /**
     * Brushes to use for negative elements in financial indicators.
    */
    indicatorNegativeBrushes?: string[];
    /**
     * Brushes to use for financial indicators.
    */
    indicatorBrushes?: string[];
    /**
     * The outline thickness of volume series in the volume pane.
    */
    volumeThickness?: number;
    /**
     * The outline thickness of financial overlays.
    */
    overlayThickness?: number;
    /**
     * The outline or stroke thickness of financial indicators.
    */
    indicatorThickness?: number;
    /**
     * The display types of financial indicators.
    */
    indicatorDisplayTypes?: IndicatorDisplayTypeCollection | string;
    /**
     * The period of financial indicators, where applicable.
    */
    indicatorPeriod?: number;
    /**
     * The multiplier of financial indicators, where applicable.
    */
    indicatorMultiplier?: number;
    /**
     * The smoothing period of financial indicators, where applicable.
    */
    indicatorSmoothingPeriod?: number;
    /**
     * The short period of financial indicators, where applicable.
    */
    indicatorShortPeriod?: number;
    /**
     * The long period of financial indicators, where applicable.
    */
    indicatorLongPeriod?: number;
    /**
     * The signal period of financial indicators, where applicable.
    */
    indicatorSignalPeriod?: number;
    /**
     * A FinancialChartRangeSelectorOptionCollection containing the available range selector options on the toolbar.
    */
    rangeSelectorOptions?: FinancialChartRangeSelectorOptionCollection | string;
    /**
     * 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?: CustomIndicatorNameCollection | string;
    isVerticalZoomEnabled?: boolean;
    zoomSliderXAxisMajorStroke?: string;
    zoomSliderXAxisMajorStrokeThickness?: number;
    isLegendVisible?: boolean;
}
