import { TimeAxisDisplayType } from "./TimeAxisDisplayType";
import { IgrTimeAxisBase, IIgrTimeAxisBaseProps } from "./igr-time-axis-base";
import { CategoryDateTimeXAxis } from "./CategoryDateTimeXAxis";
/**
 * Represents a category-based horizontal X axis that uses a DateTime scale.
*/
export declare class IgrCategoryDateTimeXAxis extends IgrTimeAxisBase<IIgrCategoryDateTimeXAxisProps> {
    protected createImplementation(): CategoryDateTimeXAxis;
    readonly i: CategoryDateTimeXAxis;
    constructor(props: IIgrCategoryDateTimeXAxisProps);
    /**
     * Gets if the current axis is a continuous rather than a discrete scale
    */
    readonly isContinuous: boolean;
    /**
     * 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: TimeAxisDisplayType;
    /**
     * Gets or sets the X axis time interval.
    */
    interval: number;
    /**
     * Gets the effective value for the current Interval.
    */
    readonly 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: number;
    /**
     * Gets the effective value for the current MinorInterval.
    */
    readonly actualMinorInterval: number;
    readonly isCategoryDateTime: boolean;
    scrollIntoView(minimum: Date, maximum: Date): void;
}
export interface IIgrCategoryDateTimeXAxisProps extends IIgrTimeAxisBaseProps {
    /**
     * 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?: TimeAxisDisplayType;
    /**
     * Gets or sets the X axis time interval.
    */
    interval?: 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?: number;
}
