import { Type } from '@angular/core';
import { IgRect } from "igniteui-angular-core";
import { IgPoint } from "igniteui-angular-core";
import { IgxCategoryAxisBaseComponent } from "./igx-category-axis-base-component";
import { IgxNumericYAxisComponent } from "./igx-numeric-y-axis-component";
import { IgxAnchoredCategorySeriesComponent } from "./igx-anchored-category-series-component";
import { IgxMarkerSeriesComponent } from "./igx-marker-series-component";
import { IgxSeriesComponent } from "./igx-series-component";
import { HorizontalAnchoredCategorySeries } from "./HorizontalAnchoredCategorySeries";
/**
 * Base class for anchored category series with a category x-axis and a numeric y-axis.
*
* Instantiate HorizontalAnchoredCategorySeries
*
* ```html
*  <igx-data-chart
*       [dataSource]="data"  >
* 	 <igx-column-series
*         #series
*         [xAxis]="xAxis"
*         [yAxis]="yAxis"
*         valueMemberPath="value"
*           >
*       </igx-column-series>
* </igx-data-chart>
* ```
*
* ```ts
* let series = new IgxColumnSeriesComponent();
* series.xAxis = this.xAxis;
* series.yAxis = this.yAxis;
* series.valueMemberPath="value";
* this.chart.series.add(series);
* ```
*/
export declare const IgxHorizontalAnchoredCategorySeriesComponent_PROVIDERS: ({
    provide: typeof IgxMarkerSeriesComponent;
    useExisting: Type<any>;
} | {
    provide: typeof IgxSeriesComponent;
    useExisting: Type<any>;
})[];
export declare abstract class IgxHorizontalAnchoredCategorySeriesComponent extends IgxAnchoredCategorySeriesComponent {
    /**
                                 * @hidden
                                 */
    readonly i: HorizontalAnchoredCategorySeries;
    constructor();
    /**
     * Gets or sets the effective x-axis for this series.
    *
    * Instantiate xAxis
    *
    * <!-- Angular -->
    *
    * ```js
    *  <igx-data-chart
    *       [dataSource]="data"  >
    * 	  <igx-category-x-axis
    *         label="label"
    *         #xAxis
    *         >
    *       </igx-category-x-axis>
    * 	 <igx-column-series
    *     ...
    *         [xAxis]="xAxis"
    *     ...
    *           >
    *       </igx-column-series>
    * </igx-data-chart>
    * ```
    *
    * ```ts
    * let series = new IgxColumnSeriesComponent();
    * series.xAxis = this.xAxis;
    * series.yAxis = this.yAxis;
    * series.valueMemberPath="value";
    * this.chart.series.add(series);
    * ```
    */
    xAxis: IgxCategoryAxisBaseComponent;
    /**
     * Gets or sets the effective y-axis for this series.
    *
    * Instantiate yAxis
    *
    * <!-- Angular -->
    *
    * ```js
    *  <igx-data-chart
    *       [dataSource]="data"  >
    * 	  <igx-numeric-y-axis
    *         minimumValue="0"
    *         #yAxis>
    *       </igx-numeric-y-axis>
    * 	 <igx-column-series
    *     ...
    *         [yAxis]="yAxis"
    *     ...
    *           >
    *       </igx-column-series>
    * </igx-data-chart>
    * ```
    *
    * ```ts
    * let series = new IgxColumnSeriesComponent();
    * series.xAxis = this.xAxis;
    * series.yAxis = this.yAxis;
    * series.valueMemberPath="value";
    * this.chart.series.add(series);
    * ```
    */
    yAxis: IgxNumericYAxisComponent;
    protected _styling(container: any, component: any, parent?: any): void;
    /**
     * 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);
    */
    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;
}
