import { IgPoint } from "igniteui-react-core/ES2015/IgPoint";
import { IgrCategoryAxisBase } from "./igr-category-axis-base";
import { IgrNumericYAxis } from "./igr-numeric-y-axis";
import { CategoryTransitionInMode } from "./CategoryTransitionInMode";
import { AssigningCategoryStyleEventArgs } from "./igr-assigning-category-style-event-args";
import { FinancialEventArgs } from "./igr-financial-event-args";
import { IgrSeries, IIgrSeriesProps } from "./igr-series";
import { FinancialSeries } from "./FinancialSeries";
/**
 * Represents the base class for all financial indicator and overlay series.
*/
export declare abstract class IgrFinancialSeries<P extends IIgrFinancialSeriesProps = IIgrFinancialSeriesProps> extends IgrSeries<P> {
    readonly i: FinancialSeries;
    constructor(props: P);
    /**
     * Gets whether the current series is a financial type series.
    */
    readonly isFinancial: boolean;
    /**
     * Gets or sets the brush to use for negative portions of the series.
    */
    negativeBrush: string;
    /**
     * Gets or sets the effective x-axis for the current FinancialSeries object.
    */
    xAxis: IgrCategoryAxisBase;
    /**
     * Gets or sets the effective y-axis for the current FinancialSeries object.
    */
    yAxis: IgrNumericYAxis;
    /**
     * Gets or sets the open mapping property for the current series object.
    */
    openMemberPath: string;
    /**
     * Gets or sets the high mapping property for the current series object.
    */
    highMemberPath: string;
    /**
     * Gets or sets the low mapping property for the current series object.
    */
    lowMemberPath: string;
    /**
     * Gets or sets the close mapping property for the current series object.
    */
    closeMemberPath: string;
    /**
     * Gets or sets the volume mapping property for the current series object.
    */
    volumeMemberPath: string;
    /**
     * Gets or sets whether this category series should allow custom style overrides of its individual visuals.
    */
    isCustomCategoryStyleAllowed: boolean;
    /**
     * Gets or sets the method by which to animate the data into the chart when the chart data source is swapped.
     * Note: Transitions are not currently supported for stacked series.
    */
    transitionInMode: CategoryTransitionInMode;
    /**
     * Gets or sets whether the series should transition into the plot area when a new data source is assigned.
     * Note: Transitions are not currently supported for stacked series.
    */
    isTransitionInEnabled: boolean;
    readonly isNegativeColorSupported: boolean;
    getPreviousOrExactIndex(world: IgPoint, skipUnknowns: boolean): number;
    getNextOrExactIndex(world: IgPoint, skipUnknowns: boolean): number;
    /**
     * Returns the offset value for this series if grouped on a category axis.
    
    */
    getOffsetValue(): number;
    /**
     * Returns the width of the category grouping this series is in.
    
    */
    getCategoryWidth(): number;
    getSeriesValuePosition(world: IgPoint, useInterpolation: boolean, skipUnknowns: boolean): IgPoint;
    getSeriesValue(world: IgPoint, useInterpolation: boolean, skipUnknowns: boolean): number;
    getSeriesHighValue(world: IgPoint, useInterpolation: boolean, skipUnknowns: boolean): number;
    getSeriesLowValue(world: IgPoint, useInterpolation: boolean, skipUnknowns: boolean): number;
    getSeriesCloseValue(world: IgPoint, useInterpolation: boolean, skipUnknowns: boolean): number;
    getSeriesOpenValue(world: IgPoint, useInterpolation: boolean, skipUnknowns: boolean): number;
    getSeriesVolumeValue(world: IgPoint, useInterpolation: boolean, skipUnknowns: boolean): number;
    getSeriesHighValuePosition(world: IgPoint, useInterpolation: boolean, skipUnknowns: boolean): IgPoint;
    getSeriesLowValuePosition(world: IgPoint, useInterpolation: boolean, skipUnknowns: boolean): IgPoint;
    getSeriesOpenValuePosition(world: IgPoint, useInterpolation: boolean, skipUnknowns: boolean): IgPoint;
    getSeriesCloseValuePosition(world: IgPoint, useInterpolation: boolean, skipUnknowns: boolean): IgPoint;
    getSeriesVolumeValuePosition(world: IgPoint, useInterpolation: boolean, skipUnknowns: boolean): IgPoint;
    /**
     * Determine if object can be used as YAxis
    
    * @param axis  * The object to check
    */
    canUseAsYAxis(axis: any): boolean;
    /**
     * Determine if object can be used as XAxis
    
    * @param axis  * The object to check
    */
    canUseAsXAxis(axis: any): boolean;
    /**
     * Gets the precise item index, if possible, based on the closeness to the previous or next whole integer. If the series cannot provide this information, GetExactItemIndex will return the same integer value as GetItemIndex.
    
    * @param world  * The world position for which to return the index.
    */
    getExactItemIndex(world: IgPoint): number;
    /**
     * Gets the index of the item that resides at the provided world coordinates.
    
    * @param world  * The world coordinates of the requested item.
    */
    getItemIndex(world: IgPoint): number;
    /**
     * Gets the item that is the best match for the specified world coordinates.
    
    * @param world  * The world coordinates to use.
    */
    getItem(world: IgPoint): any;
    setNegativeColors(negativeBrush: string, negativeOutline: string): void;
    private _assigningCategoryStyle;
    private _assigningCategoryStyle_wrapped;
    /**
     * Event raised when Assigning Category Style
    */
    protected assigningCategoryStyle: (s: IgrFinancialSeries, e: AssigningCategoryStyleEventArgs) => void;
    private _typical;
    private _typical_wrapped;
    /**
     * Handle this event in order to perform a custom typical price calculation.
    */
    protected typical: (s: IgrFinancialSeries, e: FinancialEventArgs) => void;
    private _typicalBasedOn;
    private _typicalBasedOn_wrapped;
    /**
     * Handle this event in order to specify which columns the Typical price calculation is based on.
    */
    protected typicalBasedOn: (s: IgrFinancialSeries, e: FinancialEventArgs) => void;
}
export interface IIgrFinancialSeriesProps extends IIgrSeriesProps {
    /**
     * Gets or sets the brush to use for negative portions of the series.
    */
    negativeBrush?: string;
    /**
     * Gets or sets the effective x-axis for the current FinancialSeries object.
    */
    xAxis?: IgrCategoryAxisBase;
    /**
     * Gets or sets the effective y-axis for the current FinancialSeries object.
    */
    yAxis?: IgrNumericYAxis;
    /**
     * Gets or sets the open mapping property for the current series object.
    */
    openMemberPath?: string;
    /**
     * Gets or sets the high mapping property for the current series object.
    */
    highMemberPath?: string;
    /**
     * Gets or sets the low mapping property for the current series object.
    */
    lowMemberPath?: string;
    /**
     * Gets or sets the close mapping property for the current series object.
    */
    closeMemberPath?: string;
    /**
     * Gets or sets the volume mapping property for the current series object.
    */
    volumeMemberPath?: string;
    /**
     * Gets or sets whether this category series should allow custom style overrides of its individual visuals.
    */
    isCustomCategoryStyleAllowed?: boolean;
    /**
     * Gets or sets the method by which to animate the data into the chart when the chart data source is swapped.
     * Note: Transitions are not currently supported for stacked series.
    */
    transitionInMode?: CategoryTransitionInMode;
    /**
     * Gets or sets whether the series should transition into the plot area when a new data source is assigned.
     * Note: Transitions are not currently supported for stacked series.
    */
    isTransitionInEnabled?: boolean;
}
