import { EventEmitter } from '@angular/core';
import { IgxCategoryAxisBaseComponent } from "./igx-category-axis-base-component";
import { TimeAxisBase } from "./TimeAxisBase";
import * as i0 from "@angular/core";
/**
 * Represents an category-based horizontal X axis that uses a DateTime scale.
*
* Represents 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 abstract class IgxTimeAxisBaseComponent extends IgxCategoryAxisBaseComponent {
    /**
                                 * @hidden
                                 */
    get i(): TimeAxisBase;
    constructor();
    /**
     * Gets or sets the DateTime mapping property for the axis.
    *
    * Use `DateTimeMemberPath` property for DateTime mapping with the axis.
    *
    * ```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 dateTimeMemberPath(): string;
    set dateTimeMemberPath(v: string);
    /**
     * Gets or sets whether the data assigned to the date time axis should be considered pre-sorted by date/time.
    *
    * Use `IsDataPreSorted` property to decide if the data assigned to the date time axis should be considered pre-sorted by date/time.
    */
    get isDataPreSorted(): boolean;
    set isDataPreSorted(v: boolean);
    static ngAcceptInputType_isDataPreSorted: boolean | string;
    /**
     * Gets the coerced minimum value.
    *
    * Use `ActualMinimumValue` to get the coerced maximum value.
    */
    get actualMinimumValue(): Date;
    set actualMinimumValue(v: Date);
    /**
     * Gets the coerced maximum value.
    *
    * Use `ActualMaximumValue` to get the  coerced maximum value
    */
    get actualMaximumValue(): Date;
    set actualMaximumValue(v: Date);
    /**
     * Gets or sets the axis MinimumValue.
    *
    * Use `MinimumValue` property for axis minimum value.
    *
    * ```ts
    * this.timeXAxis.maximumValue="2019-12-26";
    * ```
    */
    get minimumValue(): Date;
    set minimumValue(v: Date);
    /**
     * Gets or sets the axis MaximumValue.
    *
    * Use `MaximumValue` property for axis maximum value.
    *
    * ```ts
    * this.timeXAxis.maximumValue="2019-12-26";
    * ```
    */
    get maximumValue(): Date;
    set maximumValue(v: Date);
    /**
     * Checks if the axis is of date time axis type
    *
    * Use `IsDateTime` property to Checks if the axis is of date time axis type.
    *
    * ```ts
    * const isDT = this.timeXAxis.isDateTime;
    * ```
    */
    get isDateTime(): boolean;
    static ngAcceptInputType_isDateTime: boolean | string;
    /**
     * Checks if axis requires sorting of items
    *
    * Use `IsSorting` property to Checks if axis requires sorting of items.
    *
    * ```ts
    * const isDT = this.timeXAxis.isDateTime;
    * ```
    */
    get isSorting(): boolean;
    static ngAcceptInputType_isSorting: boolean | string;
    getMemberPathValue(memberPathName: string): string;
    getFullRange(): number[];
    getItemValue(item: any, memberPathName: string): any;
    /**
     * 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;
    /**
     * Updates the axis when the data has been changed.
    
    */
    notifyDataChanged(): void;
    private _actualMinimumValueChange;
    get actualMinimumValueChange(): EventEmitter<Date>;
    private _actualMaximumValueChange;
    get actualMaximumValueChange(): EventEmitter<Date>;
    static ɵfac: i0.ɵɵFactoryDeclaration<IgxTimeAxisBaseComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IgxTimeAxisBaseComponent, "ng-component", never, { "dateTimeMemberPath": { "alias": "dateTimeMemberPath"; "required": false; }; "isDataPreSorted": { "alias": "isDataPreSorted"; "required": false; }; "actualMinimumValue": { "alias": "actualMinimumValue"; "required": false; }; "actualMaximumValue": { "alias": "actualMaximumValue"; "required": false; }; "minimumValue": { "alias": "minimumValue"; "required": false; }; "maximumValue": { "alias": "maximumValue"; "required": false; }; }, { "actualMinimumValueChange": "actualMinimumValueChange"; "actualMaximumValueChange": "actualMaximumValueChange"; }, never, never, true, never>;
}
