import { IgRect } from "igniteui-react-core/ES2015/IgRect";
import { IgPoint } from "igniteui-react-core/ES2015/IgPoint";
import { IgrCategoryAxisBase } from './igr-category-axis-base';
import { IgrNumericYAxis } from './igr-numeric-y-axis';
import { IgrAnchoredCategorySeries, IIgrAnchoredCategorySeriesProps } from './igr-anchored-category-series';
import { IgrAxis } from './igr-axis';
import { HorizontalAnchoredCategorySeries } from "./HorizontalAnchoredCategorySeries";
/**
 * Base class for anchored category series with a category x-axis and a numeric y-axis.
*
* Instantiate HorizontalAnchoredCategorySeries
*/
export declare abstract class IgrHorizontalAnchoredCategorySeries<P extends IIgrHorizontalAnchoredCategorySeriesProps = IIgrHorizontalAnchoredCategorySeriesProps> extends IgrAnchoredCategorySeries<P> {
    constructor(props: P);
    private _xAxisName;
    xAxisName: string;
    private _yAxisName;
    yAxisName: string;
    bindAxes(axes: IgrAxis[]): void;
    readonly i: HorizontalAnchoredCategorySeries;
    /**
 * Gets or sets the effective x-axis for this series.
*
* Instantiate xAxis
*/
    xAxis: IgrCategoryAxisBase;
    /**
     * Gets or sets the effective y-axis for this series.
    *
    * Instantiate yAxis
    */
    yAxis: IgrNumericYAxis;
    /**
 * If possible, will return the best available value marker bounding box within the series that has the best value match for the world position provided.

* @param world  * The world coordinates for which to get a value marker bounding box for
*
* You can use the `getCategoryWidth` to get the width of the category grouping a series is in.
*
* <!-- Angular JS -->
*
*     var x = financialSeries.GetSeriesValueMarkerBoundingBox(new IgxPoint());
*
* <!-- Ignite JS -->
*
*      N/A
*/
    getSeriesValueMarkerBoundingBox(world: IgPoint): IgRect;
    /**
     * Returns the offset value for this series if grouped on a category axis.
    
    *
    * You can use the `getOffsetValue` to get the offset value for this series if grouped on a category axis.
    *
    * <!-- Angular JS -->
    *
    *       var g = series.getOffsetValue();
    *
    * <!-- Ignite JS -->
    *
    *      N/A
    */
    getOffsetValue(): number;
    /**
     * Returns the width of the category grouping this series is in.
    
    *
    * You can use the `getCategoryWidth` to get the width of the category grouping a series is in.
    *
    * <!-- Angular JS -->
    *
    *      var x = this.financialSeries.CanUseAsXAxis(this.xAxis);
    *
    * <!-- Ignite JS -->
    *
    *      N/A
    */
    getCategoryWidth(): number;
    getSeriesValue(world: IgPoint, useInterpolation: boolean, skipUnknowns: boolean): number;
    getPreviousOrExactIndex(world: IgPoint, skipUnknowns: boolean): number;
    getNextOrExactIndex(world: IgPoint, skipUnknowns: boolean): number;
    getSeriesValuePosition(world: IgPoint, useInterpolation: boolean, skipUnknowns: boolean): IgPoint;
    /**
     * Determine if object can be used as XAxis
    
    * @param axis  * The object to check
    *
    * You can use the `canUseAsXAxis` method to determine if object can be used as XAxis
    *
    * <!-- Angular JS -->
    *
    *      var x = this.financialSeries.CanUseAsXAxis(this.xAxis);
    *
    * <!-- Ignite JS -->
    *
    *      N/A
    */
    canUseAsXAxis(axis: any): boolean;
    /**
     * Determine if object can be used as YAxis
    
    * @param axis  * The object to check
    *
    * You can use the `canUseAsYAxis` method to determine if object can be used as YAxis
    *
    * <!-- Ignite JS -->
    *
    *      N/A
    */
    canUseAsYAxis(axis: any): boolean;
}
export interface IIgrHorizontalAnchoredCategorySeriesProps extends IIgrAnchoredCategorySeriesProps {
    xAxisName?: string;
    yAxisName?: string;
    /**
 * Gets or sets the effective x-axis for this series.
*
* Instantiate xAxis
*/
    xAxis?: IgrCategoryAxisBase;
    /**
     * Gets or sets the effective y-axis for this series.
    *
    * Instantiate yAxis
    */
    yAxis?: IgrNumericYAxis;
}
