import { EventEmitter } from '@angular/core';
import { TimeAxisDisplayType } from "./TimeAxisDisplayType";
import { IgxTimeAxisBaseComponent } from "./igx-time-axis-base-component";
import { CategoryDateTimeXAxis } from "./CategoryDateTimeXAxis";
import * as i0 from "@angular/core";
/**
 * Represents a category-based horizontal X axis that uses a DateTime scale.
*
* `IgxCategoryDateTimeXAxisComponent` class represents a category-based horizontal X 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 IgxCategoryDateTimeXAxisComponent extends IgxTimeAxisBaseComponent {
    protected createImplementation(): CategoryDateTimeXAxis;
    /**
                                 * @hidden
                                 */
    get i(): CategoryDateTimeXAxis;
    constructor();
    /**
     * Gets if the current axis is a continuous rather than a discrete scale
    */
    get isContinuous(): boolean;
    static ngAcceptInputType_isContinuous: boolean | string;
    /**
     * Gets or sets the axis display type.
     * Continuous display type divides the axis into even intervals, where labels will not necessarily be aligned with data points.
     * Discrete display type will not use a constant interval, but will align each label with its data point.
    *
    * `displayType` property is used for axis display type.
    *
    * Continuous display type divides the axis into even intervals, where labels will not necessarily be aligned with data points. Discrete display type will not use a constant interval, but will align each label with its data point.
    *
    * ```html
    * <igx-data-chart
    *     [dataSource]="data">
    *     <igx-time-x-axis
    * 		dateTimeMemberPath="date"
    * 		displayType ="continuous"
    * 		#xAxis>
    *     </igx-time-x-axis>
    * </igx-data-chart>
    * ```
    */
    get displayType(): TimeAxisDisplayType;
    set displayType(v: TimeAxisDisplayType);
    static ngAcceptInputType_displayType: TimeAxisDisplayType | string;
    /**
     * Gets or sets the X axis time interval.
    *
    * `interval` property is used to get/sets the frequency of displayed labels.
    *
    * ```html
    * <igx-data-chart
    *     [dataSource]="data">
    *     <igx-time-x-axis
    * 		dateTimeMemberPath="date"
    * 		interval=2
    * 		#xAxis>
    *     </igx-time-x-axis>
    * </igx-data-chart>
    * ```
    */
    get interval(): number;
    set interval(v: number);
    static ngAcceptInputType_interval: number | string;
    /**
     * Gets the effective value for the current Interval.
    */
    get actualInterval(): number;
    set actualInterval(v: number);
    static ngAcceptInputType_actualInterval: number | string;
    /**
     * Gets or sets the frequency of displayed minor lines.
     * The set value is a factor that determines how the minor lines will be displayed.
    */
    get minorInterval(): number;
    set minorInterval(v: number);
    static ngAcceptInputType_minorInterval: number | string;
    /**
     * Gets the effective value for the current MinorInterval.
    */
    get actualMinorInterval(): number;
    set actualMinorInterval(v: number);
    static ngAcceptInputType_actualMinorInterval: number | string;
    /**
     * Gets if the current axis is of category date time axis type
    */
    get isCategoryDateTime(): boolean;
    static ngAcceptInputType_isCategoryDateTime: boolean | string;
    scrollIntoView(minimum: Date, maximum: Date): void;
    private _actualIntervalChange;
    get actualIntervalChange(): EventEmitter<number>;
    private _actualMinorIntervalChange;
    get actualMinorIntervalChange(): EventEmitter<number>;
    static ɵfac: i0.ɵɵFactoryDeclaration<IgxCategoryDateTimeXAxisComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IgxCategoryDateTimeXAxisComponent, "igx-category-date-time-x-axis", never, { "displayType": "displayType"; "interval": "interval"; "actualInterval": "actualInterval"; "minorInterval": "minorInterval"; "actualMinorInterval": "actualMinorInterval"; }, { "actualIntervalChange": "actualIntervalChange"; "actualMinorIntervalChange": "actualMinorIntervalChange"; }, never, never>;
}
