import { Type } from '@angular/core';
import { IgPoint } from "igniteui-angular-core/ES5/IgPoint";
import { IgxCategoryAxisBaseComponent } from './igx-category-axis-base-component';
import { IgxNumericYAxisComponent } from './igx-numeric-y-axis-component';
import { IgxRangeCategorySeriesComponent } from './igx-range-category-series-component';
import { IgxMarkerSeriesComponent } from './igx-marker-series-component';
import { IgxSeriesComponent } from './igx-series-component';
import { IgxAxisComponent } from './igx-axis-component';
import { HorizontalRangeCategorySeries } from './HorizontalRangeCategorySeries';
export declare const IgxHorizontalRangeCategorySeriesComponent_PROVIDERS: ({
    provide: typeof IgxMarkerSeriesComponent;
    useExisting: Type<any>;
} | {
    provide: typeof IgxSeriesComponent;
    useExisting: Type<any>;
})[];
/**
 * Base class for ranged category series with a category X-axis and a numeric Y-axis.
*
* Instantiate HorizontalAnchoredCategorySeries
*/
export declare abstract class IgxHorizontalRangeCategorySeriesComponent extends IgxRangeCategorySeriesComponent {
    readonly i: HorizontalRangeCategorySeries;
    constructor();
    private _xAxisName;
    xAxisName: string;
    private _yAxisName;
    yAxisName: string;
    private _boundAxes;
    bindAxes(axes: IgxAxisComponent[]): void;
    /**
 * Gets or sets the effective x-axis for the current CategorySeries object.
*
* Instantiate xAxis
*/
    xAxis: IgxCategoryAxisBaseComponent;
    /**
     * Gets or sets the effective y-axis for the current CategorySeries object.
    *
    * Instantiate yAxis
    */
    yAxis: IgxNumericYAxisComponent;
    /**
     * Checks if this series is a range series
    *
    * You can use the `isRange` to get the current series is a range type series.
    *
    * <!-- Angular JS -->
    *
    *       var r = this.series.isRange;
    *
    * <!-- Ignite JS -->
    *
    *      N/A
    */
    readonly isRange: boolean;
    /**
 * 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;
    getNextOrExactIndex(world: IgPoint, skipUnknowns: boolean): number;
    getPreviousOrExactIndex(world: IgPoint, skipUnknowns: boolean): number;
    getSeriesValue(world: IgPoint, useInterpolation: boolean, skipUnknowns: boolean): number;
    getSeriesLowValue(world: IgPoint, useInterpolation: boolean, skipUnknowns: boolean): number;
    getSeriesHighValue(world: IgPoint, useInterpolation: boolean, skipUnknowns: boolean): number;
    getSeriesHighValuePosition(world: IgPoint, useInterpolation: boolean, skipUnknowns: boolean): IgPoint;
    getSeriesLowValuePosition(world: IgPoint, useInterpolation: boolean, skipUnknowns: boolean): IgPoint;
    getSeriesValuePosition(world: IgPoint, useInterpolation: boolean, skipUnknowns: boolean): IgPoint;
    /**
     * 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;
    /**
     * 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;
}
