import { TimeAxisBase } from "./TimeAxisBase";
import { ITimeRangeSelectorAxis } from "./ITimeRangeSelectorAxis";
import { TimeAxisBreakCollection } from "./TimeAxisBreakCollection";
import { TimeAxisLabellingMode } from "./TimeAxisLabellingMode";
import { Axis } from "./Axis";
import { TimeAxisLabelFormatCollection } from "./TimeAxisLabelFormatCollection";
import { TimeAxisIntervalCollection } from "./TimeAxisIntervalCollection";
import { Type, IList$1, EventArgs } from "igniteui-angular-core";
import { TimeAxisLabelFormat } from "./TimeAxisLabelFormat";
import { ScalerParams } from "./ScalerParams";
import { Rect } from "igniteui-angular-core";
import { CultureInfo } from "igniteui-angular-core";
import { TimeRepetitionLevel } from "./TimeRepetitionLevel";
/**
 * @hidden
 */
export declare class TimeXAxis extends TimeAxisBase implements ITimeRangeSelectorAxis {
    static $t: Type;
    constructor();
    ak(): Axis;
    jr(a: Axis): void;
    ju(a: Axis, b: string): void;
    protected get_dj(): boolean;
    ft(a: number, b: ScalerParams): number;
    private r5;
    j6(a: IList$1<number>, b: number, c: number, d: ScalerParams): void;
    protected startCursor(): void;
    protected resetCursor(): void;
    private r7;
    fw(a: number, b: ScalerParams): number;
    private r6;
    private rh;
    get breaks(): TimeAxisBreakCollection;
    private rq;
    get rr(): TimeAxisLabellingMode;
    set rr(a: TimeAxisLabellingMode);
    private ro;
    get labelFormats(): TimeAxisLabelFormatCollection;
    protected kf(a: any, b: string, c: any, d: any): void;
    protected lj(a: Rect, b: Rect): void;
    protected li(a: Rect, b: Rect): void;
    d4(): boolean;
    private _omission;
    private get omission();
    private set omission(value);
    private sq;
    private rf;
    private ru;
    private r0;
    private sp;
    ih(a: number): string;
    hf(a: any): any;
    static sa(a: Date, b: boolean, c: Date, d: TimeAxisLabellingMode, e: number, f: IList$1<TimeAxisLabelFormat>, g: CultureInfo): any;
    static sf(a: Date, b: boolean, c: Date, d: TimeAxisLabellingMode, e: number, f: IList$1<TimeAxisLabelFormat>, g: CultureInfo): string;
    private static rs;
    protected get_qc(): boolean;
    protected set_qc(a: boolean): void;
    private rm;
    get intervals(): TimeAxisIntervalCollection;
    private sd;
    static se(a: number, b: TimeRepetitionLevel, c: TimeAxisLabellingMode): string;
    private static re;
    private static rg;
    private rk;
    private rl;
    private sb;
    protected k4(a: boolean): void;
    private rt;
    private rv;
    private so;
    private rz;
    get visibleMinimum(): Date;
    set visibleMinimum(a: Date);
    private rx;
    get r2(): Date;
    set r2(a: Date);
    private rw;
    get r1(): Date;
    set r1(a: Date);
    private ry;
    private rj;
    get visibleMaximum(): Date;
    set visibleMaximum(a: Date);
    protected q9(): void;
    ow(a: Rect, b: Rect, c: Rect, d: number, e: number): number;
    i$f(a: number): number;
    private r8;
    private r9;
    private sr;
    private st;
    private ss;
    protected get_c9(): boolean;
    getWindowRectForSelection(a: Date, b: Date): Rect;
    getCategorySize(a: Rect, b: Rect, c: Rect): number;
    private sm;
    static sl(a: (arg1: number) => Date, b: number): number;
    private sk;
    protected q5(): void;
    static sh(a: number): string;
    itemLabelFormat(): string;
    visibleRangeChanged: (sender: any, e: EventArgs) => void;
    protected qr(a: Rect, b: Rect, c: Rect, d: Rect): number;
    protected qu(a: Rect, b: Rect, c: Rect, d: Rect): number;
    get isVertical(): boolean;
    j$d(a: number, b: ScalerParams): number;
    j$c(a: number, b: ScalerParams): number;
    j$e(a: IList$1<number[]>, b: IList$1<number>, c: number, d: number, e: ScalerParams): void;
    j$f(a: IList$1<number>, b: number, c: number, d: ScalerParams): void;
    j$g(a: IList$1<number>, b: number, c: number, d: ScalerParams): void;
    get j$b(): boolean;
    j$a(): number[];
    get i$a(): boolean;
}
