import { IgxTimeAxisBreakCollection } from "./igx-time-axis-break-collection";
import { TimeAxisLabellingMode } from "./TimeAxisLabellingMode";
import { IgxTimeAxisLabelFormatCollection } from "./igx-time-axis-label-format-collection";
import { IgxTimeAxisIntervalCollection } from "./igx-time-axis-interval-collection";
import { IgxTimeAxisBaseComponent } from "./igx-time-axis-base-component";
import { TimeXAxis } from "./TimeXAxis";
import * as i0 from "@angular/core";
/**
 * A horizontal axis that uses a DateTime scale.
*
* The `IgxTimeXAxisComponent` is a horizontal axis that uses a DateTime scale.
*
* ```html
* <igx-data-chart
*     [dataSource]="data">
*     <igx-time-x-axis
* 		dateTimeMemberPath="date"
* 		#xAxis>
*     </igx-time-x-axis>
* </igx-data-chart>
* ```
*
* ```ts
* let xAxis = new IgxTimeXAxisComponent();
* xAxis.dataTimeMemberPath="date";
* this.chart.axes.add(xAxis);
* ```
*/
export declare class IgxTimeXAxisComponent extends IgxTimeAxisBaseComponent {
    protected createImplementation(): TimeXAxis;
    /**
                                 * @hidden
                                 */
    get i(): TimeXAxis;
    constructor();
    get isPiecewise(): boolean;
    static ngAcceptInputType_isPiecewise: boolean | string;
    private _breaks;
    /**
     * TimeAxisBreaks to apply to this axis, representing spans of time to omit, such as weekends.
    *
    * The `breaks` to apply to this axis, representing spans of time to omit, such as weekends.
    *
    * ```html
    * <igx-data-chart
    *     [dataSource]="data">
    *     <igx-time-x-axis
    * 		dateTimeMemberPath="date"
    * 		#xAxis>
    *     </igx-time-x-axis>
    * </igx-data-chart>
    * ```
    *
    * ```ts
    * let xAxis = new IgxTimeXAxisComponent();
    * xAxis.dataTimeMemberPath="date";
    * this.chart.axes.add(xAxis);
    * ```
    */
    get breaks(): IgxTimeAxisBreakCollection;
    set breaks(v: IgxTimeAxisBreakCollection);
    static ngAcceptInputType_breaks: IgxTimeAxisBreakCollection | string;
    /**
     * Gets or sets the labelling mode to use when the automatic label formats are applied.
    */
    get labellingMode(): TimeAxisLabellingMode;
    set labellingMode(v: TimeAxisLabellingMode);
    static ngAcceptInputType_labellingMode: TimeAxisLabellingMode | string;
    private _labelFormats;
    /**
     * A list of axis label formats to apply, which are selected according to the visible axis range.
     * The label format selected will be the one with the largest range smaller than the visible range of the axis.
    */
    get labelFormats(): IgxTimeAxisLabelFormatCollection;
    set labelFormats(v: IgxTimeAxisLabelFormatCollection);
    static ngAcceptInputType_labelFormats: IgxTimeAxisLabelFormatCollection | string;
    private _intervals;
    /**
     * A list of axis label intervals to apply, which are selected according to the visible axis range.
     * The interval selected will be the one with the largest range smaller than the visible range of the axis.
    */
    get intervals(): IgxTimeAxisIntervalCollection;
    set intervals(v: IgxTimeAxisIntervalCollection);
    static ngAcceptInputType_intervals: IgxTimeAxisIntervalCollection | string;
    /**
     * Gets if the current axis is of category date time axis type
    */
    get isCategoryDateTime(): boolean;
    static ngAcceptInputType_isCategoryDateTime: boolean | string;
    findByName(name: string): any;
    getValueLabel(value: number): string;
    /**
     * Gets the index of the data item with the value nearest the given value.
    
    * @param unscaledValue  * The value to find a value close to.
    */
    getIndexClosestToUnscaledValue(unscaledValue: number): number;
    static ɵfac: i0.ɵɵFactoryDeclaration<IgxTimeXAxisComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IgxTimeXAxisComponent, "igx-time-x-axis", never, { "breaks": "breaks"; "labellingMode": "labellingMode"; "labelFormats": "labelFormats"; "intervals": "intervals"; }, {}, never, never>;
}
