import { Type } from '@angular/core';
import { IgxCategoryAxisBaseComponent } from "./igx-category-axis-base-component";
import { IgxAxisComponent } from "./igx-axis-component";
import { CategoryXAxis } from "./CategoryXAxis";
/**
 * Represents a IgxDataChartComponent category X axis.
*
* `IgxCategoryXAxisComponent` class represents a IgxDataChartComponent category X axis.
*
* ```html
* <igx-data-chart [dataSource]="data">
*   <igx-category-x-axis #xAxis
*     label="label" >
*   </igx-category-x-axis>
*   <igx-numeric-y-axis #yAxis>
*   </igx-numeric-y-axis>
*   <igx-column-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 IgxCategoryXAxisComponent_PROVIDERS: {
    provide: typeof IgxAxisComponent;
    useExisting: Type<any>;
}[];
export declare class IgxCategoryXAxisComponent extends IgxCategoryAxisBaseComponent {
    protected createImplementation(): CategoryXAxis;
    /**
                                 * @hidden
                                 */
    readonly i: CategoryXAxis;
    constructor();
    /**
     * Gets or sets the frequency of displayed labels.
     * The set value is a factor that determines which labels will be hidden. For example, an interval of 2 will display every other label.
    *
    * `interval` determines how often to show a label, tickmark, and/or gridline along the x-axis.  Set this property to _n_ to display a label every _nth_ item.
    *
    * ```html
    * <igx-data-chart [dataSource]="data">
    *   <igx-category-x-axis #xAxis
    *     label="label"
    *     interval="3">
    *   </igx-category-x-axis>
    *   <igx-numeric-y-axis #yAxis>
    *   </igx-numeric-y-axis>
    *
    *   <igx-column-series
    *     [xAxis]="xAxis"
    *     [yAxis]="yAxis"
    *     valueMemberPath="value">
    *   </igx-column-series>
    * </igx-data-chart>
    * ```
    *
    * ```ts
    * let series = new IgxColumnSeriesComponent();
    * series.xAxis = this.xAxis;
    * xAxis.interval="3";
    * series.yAxis = this.yAxis;
    *
    * series.valueMemberPath="value";
    * this.chart.series.add(series);
    * ```
    */
    interval: number;
    /**
     * Gets the effective value for the current Interval.
    *
    * ```ts
    * let effectiveInterval: number = xAxis.actualInterval;
    * ```
    */
    actualInterval: number;
    /**
     * Gets or sets the frequency of displayed minor lines.
     * The set value is a factor that determines how the minor lines will be displayed.
    *
    * `minorInterval` determines how often to show a minor gridline along the x-axis.  This property is relevant only when the displayed series is a type with grouping, like column series.
    *
    * `minorInterval` is expressed as a number between 0 and 1, representing the frequency of the interval.  To display minor gridlines representing 10ths of an item width, set `minorInterval` to 0.1.
    *
    * ```html
    * <igx-data-chart [dataSource]="data">
    *   <igx-category-x-axis #xAxis
    *     label="label"
    *     minorInterval="0.1"
    *     minorStroke="green"
    *     minorStrokeThickness="1">
    *   </igx-category-x-axis>
    *   <igx-numeric-y-axis #yAxis>
    *   </igx-numeric-y-axis>
    *   <igx-column-series
    *     [xAxis]="xAxis"
    *     [yAxis]="yAxis"
    *     valueMemberPath="value">
    *   </igx-column-series>
    * </igx-data-chart>
    * ```
    *
    * ```ts
    * let series = new IgxColumnSeriesComponent();
    * series.xAxis = this.xAxis;
    * xAxis.minorInterval="0.1";
    * series.yAxis = this.yAxis;
    * series.valueMemberPath="value";
    * this.chart.series.add(series);
    * ```
    */
    minorInterval: number;
    /**
     * Gets the effective value for the current MinorInterval.
    *
    * ```ts
    * let effectiveMinorInterval: number = xAxis.actualMinorInterval;
    * ```
    */
    actualMinorInterval: number;
    /**
     * Scrolls the specified item into view.
    
    * @param item  * Data item to scroll into view
    */
    scrollIntoView(item: any): void;
    scrollRangeIntoView(minimum: number, maximum: number): void;
}
