import { Base, Type, Point } from "igniteui-react-core";
import { IBucketizer } from "./IBucketizer";
import { IFastItemColumn$1 } from "igniteui-react-core";
import { Rect } from "igniteui-react-core";
import { CategoryAxisBase } from "./CategoryAxisBase";
import { ScalerParams } from "./ScalerParams";
import { SeriesView } from "./SeriesView";
import { Axis } from "./Axis";
import { FramePreparer } from "./FramePreparer";
import { IIsCategoryBased } from "./IIsCategoryBased";
import { List$1 } from "igniteui-react-core";
import { ISupportsMarkers } from "./ISupportsMarkers";
import { IProvidesViewport } from "./IProvidesViewport";
import { ISupportsErrorBars } from "./ISupportsErrorBars";
import { CategoryFrame } from "./CategoryFrame";
import { IDetectsCollisions } from "./IDetectsCollisions";
import { PreparationParams } from "./PreparationParams";
import { Frame } from "./Frame";
import { ICategoryScaler } from "./ICategoryScaler";
import { ValuesHolder } from "./ValuesHolder";
import { NumericAxisBase } from "./NumericAxisBase";
import { IHasCategoryTrendline } from "./IHasCategoryTrendline";
import { IHasSingleValueCategory } from "./IHasSingleValueCategory";
import { MarkerSeries } from "./MarkerSeries";
import { IHasCategoryModePreference } from "./IHasCategoryModePreference";
import { ICategorySeriesInteractionManager } from "./ICategorySeriesInteractionManager";
import { CategoryCollisionMode } from "./CategoryCollisionMode";
import { CategoryTransitionInMode } from "./CategoryTransitionInMode";
import { HighlightingInfo } from "igniteui-react-core";
import { CategoryTransitionSourceFramePreparer } from "./CategoryTransitionSourceFramePreparer";
import { SeriesPointOfInterest } from "./SeriesPointOfInterest";
import { Marker } from "./Marker";
import { MarkerSeriesView } from "./MarkerSeriesView";
import { CategoryMode } from "./CategoryMode";
import { CategorySeriesRenderManager } from "./CategorySeriesRenderManager";
import { AssigningCategoryStyleEventArgs } from "./AssigningCategoryStyleEventArgs";
import { AssigningCategoryMarkerStyleEventArgs } from "./AssigningCategoryMarkerStyleEventArgs";
import { SeriesComponentsForView } from "./SeriesComponentsForView";
import { Pool$1 } from "igniteui-react-core";
import { TransitionInSpeedType } from "./TransitionInSpeedType";
import { TransitionOutSpeedType } from "./TransitionOutSpeedType";
import { SeriesLayerPropertyOverlay } from "./SeriesLayerPropertyOverlay";
import { RenderSurface } from "./RenderSurface";
import { Clipper } from "igniteui-react-core";
import { ChartSelection } from "./ChartSelection";
import { SeriesSelectionBehavior } from "./SeriesSelectionBehavior";
import { ValueCollisionMode } from "./ValueCollisionMode";
/**
 * @hidden
 */
export declare class CategoryBucketCalculator extends Base implements IBucketizer {
    static $t: Type;
    protected c: CategorySeriesView;
    constructor(a: CategorySeriesView);
    e: number;
    f: number;
    d: number;
    getBucket(a: number): number[];
    getBucketWithoutUnknowns(a: number): number[];
    getErrorBucket(a: number, b: IFastItemColumn$1<number>): number;
    g(a: number): void;
    getBucketInfo(a: number, b: number, c: number, d: number): {
        p0: number;
        p1: number;
        p2: number;
        p3: number;
    };
    cacheValues(): void;
    unCacheValues(): void;
}
/**
 * @hidden
 */
export declare abstract class CategoryFramePreparerBase extends FramePreparer {
    static $t: Type;
    constructor(a: number, b: IIsCategoryBased);
    constructor(a: number, b: IIsCategoryBased, c: ISupportsMarkers, d: IProvidesViewport, e: ISupportsErrorBars, f: IBucketizer);
    constructor(a: number, ..._rest: any[]);
    g: IBucketizer;
    h: IIsCategoryBased;
    protected abstract l(a: CategoryFrame, b: number[], c: IDetectsCollisions, d: number, e: number, f: number): boolean;
    m: boolean;
    i(a: Frame): PreparationParams;
    r(a: ICategoryScaler, b: Rect, c: Rect, d: Rect): number;
    s(a: PreparationParams): number;
    d(a: Frame, b: SeriesView): void;
    protected v(a: CategoryFrame, b: SeriesView, c: PreparationParams): void;
    private o;
    protected get q(): List$1<number[]>;
    private p;
    private n;
    protected t(a: PreparationParams, b: ValuesHolder, c: number, d: boolean, e: boolean): number;
    protected k(): boolean;
    protected abstract z(a: ValuesHolder, b: number, c: boolean, d: boolean): void;
    protected abstract u(a: ValuesHolder, b: number, c: boolean): void;
    protected abstract e(a: number, b: ValuesHolder): number[];
    protected f(a: PreparationParams, b: number, c: ValuesHolder, d: number, e: boolean, f: number[], g: number): {
        ret: number[];
        p1?: number;
        p4: boolean;
        p5: number[];
    };
    protected y(a: PreparationParams, b: number, c: boolean, d: ScalerParams, e: ScalerParams, f: boolean, g: boolean): void;
    protected abstract x(a: PreparationParams, b: number[], c: number, d: boolean, e: ScalerParams, f: ScalerParams): void;
    protected w(a: PreparationParams, b: ValuesHolder, c: number): void;
    abstract j(a: PreparationParams): ValuesHolder;
}
/**
 * @hidden
 */
export declare class CategoryFramePreparer extends CategoryFramePreparerBase {
    static $t: Type;
    constructor(a: number, b: IIsCategoryBased);
    constructor(a: number, b: IIsCategoryBased, c: ISupportsMarkers, d: IProvidesViewport, e: ISupportsErrorBars, f: IBucketizer);
    constructor(a: number, ..._rest: any[]);
    private aa;
    private ab;
    protected ac: IHasCategoryTrendline;
    protected ad: IHasSingleValueCategory;
    protected l(a: CategoryFrame, b: number[], c: IDetectsCollisions, d: number, e: number, f: number): boolean;
    j(a: PreparationParams): ValuesHolder;
    protected x(a: PreparationParams, b: number[], c: number, d: boolean, e: ScalerParams, f: ScalerParams): void;
    protected y(a: PreparationParams, b: number, c: boolean, d: ScalerParams, e: ScalerParams, f: boolean, g: boolean): void;
    protected w(a: PreparationParams, b: ValuesHolder, c: number): void;
    protected z(a: ValuesHolder, b: number, c: boolean, d: boolean): void;
    protected u(a: ValuesHolder, b: number, c: boolean): void;
    protected e(a: number, b: ValuesHolder): number[];
}
/**
 * @hidden
 */
export declare abstract class CategorySeries extends MarkerSeries implements IHasCategoryModePreference, ISupportsErrorBars {
    static $t: Type;
    zl: CategoryFramePreparer;
    protected ct(): SeriesView;
    zp: CategorySeriesView;
    private zt;
    get zu(): ICategorySeriesInteractionManager;
    ed(a: List$1<SeriesPointOfInterest>, b: boolean, c: boolean, d: number, e: boolean): boolean;
    private aal;
    ri(a: SeriesView): void;
    preferredCategoryMode(a: CategoryAxisBase): CategoryMode;
    get categoryAxis(): CategoryAxisBase;
    ze(): CategoryAxisBase;
    zv(): NumericAxisBase;
    protected get_em(): boolean;
    protected get_gc(): boolean;
    protected get_e1(): boolean;
    constructor();
    ac(): void;
    z6: boolean;
    z5: boolean;
    zf: CategoryCollisionMode;
    protected z2: boolean;
    protected z1: boolean;
    assigningCategoryStyle: (sender: any, args: AssigningCategoryStyleEventArgs) => void;
    assigningCategoryMarkerStyle: (sender: any, args: AssigningCategoryMarkerStyleEventArgs) => void;
    z8(): boolean;
    protected z9(): boolean;
    protected aa8(a: AssigningCategoryStyleEventArgs): void;
    protected aa7(a: AssigningCategoryMarkerStyleEventArgs): void;
    y8(a: number, b: number): any[];
    pj(a: boolean, b: SeriesView): void;
    bs(): SeriesComponentsForView;
    qq(): void;
    aac: boolean;
    protected ta(a: Rect, b: Rect): void;
    zr: CategoryTransitionInMode;
    z7: boolean;
    protected s9(a: Rect, b: Rect): void;
    protected rr(a: any, b: string, c: any, d: any): void;
    protected z4(): boolean;
    protected z3(): boolean;
    aaf(a: Point): number;
    protected get_fw(): boolean;
    a0(): CategoryAxisBase;
    kf(a: Point): number;
    abstract getOffsetValue(): number;
    abstract getCategoryWidth(): number;
    kx(a: Point): any;
    kd(a: Point): number;
    iz(a: Point): number;
    private zz;
    private z0;
    di(a: any, b: Point, c: boolean): HighlightingInfo;
    protected get_fh(): boolean;
    ph(): void;
    dh(a: any, b: Point, c: boolean): HighlightingInfo;
    protected aae(): List$1<Marker>;
    protected zy(a: any, b: Point, c: HighlightingInfo): HighlightingInfo;
    protected zx(a: any, b: Point, c: HighlightingInfo): HighlightingInfo;
    protected zw(a: any, b: Point, c: HighlightingInfo): HighlightingInfo;
    zi: CategoryFrame;
    zk: CategoryFrame;
    zg: CategoryFrame;
    zj: CategoryFrame;
    zh(): CategoryFrame;
    zo: CategorySeriesRenderManager;
    protected aa4(a: List$1<number[]>, b: number, c: number, d: CategoryAxisBase, e: ScalerParams, f: boolean, g: number): void;
    aa5(a: List$1<number[]>, b: number, c: number, d: CategoryAxisBase, e: ScalerParams, f: boolean, g: number): void;
    hl(a: Rect, b: Rect, c: SeriesView): boolean;
    private aad;
    protected gu(): boolean;
    protected gv(): boolean;
    protected zq(): CategoryTransitionInMode;
    zs: CategoryTransitionSourceFramePreparer;
    protected pk(): void;
    sa(a: boolean): void;
    protected c5(): TransitionInSpeedType;
    protected c8(): TransitionOutSpeedType;
    protected aag(): number;
    protected aaa(): boolean;
    protected h0(): List$1<SeriesLayerPropertyOverlay>;
    k5(): any;
    aak(): number;
    get GetErrorBarsXAxis(): Axis;
    get GetErrorBarsYAxis(): Axis;
    aav(a: CategorySeriesView, b: CategoryFrame): void;
    aa9(a: CategoryFrame, b: CategorySeriesView): void;
    aa6(a: CategoryFrame, b: CategorySeriesView): void;
    aah(a: SeriesView): number;
    aai(a: SeriesView): number;
    aaj(a: SeriesView): number;
    aau(a: SeriesView): void;
    sb(a: Rect, b: RenderSurface): void;
    sc(): void;
    abstract fetchXAxis(): Axis;
    abstract fetchYAxis(): Axis;
    abstract aab(): boolean;
    zm(a: CategorySeriesView): CategoryFramePreparer;
    aw(a: Axis): Axis;
    ai(): Axis[];
    static y9(a: List$1<number[]>, b: number, c: Rect, d: Rect, e: boolean): Clipper;
    aa1(a: Rect, b: List$1<ChartSelection>, c: SeriesSelectionBehavior, d: CategoryCollisionMode, e: ValueCollisionMode): void;
    aa3(a: List$1<ChartSelection>, b: number, c: number, d: SeriesSelectionBehavior): void;
    abstract aa2(a: ValueCollisionMode, b: List$1<ChartSelection>, c: number, d: number, e: number, f: number, g: SeriesSelectionBehavior): void;
    abstract aat(a: List$1<ChartSelection>, b: number, c: SeriesSelectionBehavior): void;
    aaw(a: Rect, b: NumericAxisBase, c: boolean, d: Rect, e: number, f: number): {
        p4: number;
        p5: number;
    };
    aax(a: Rect, b: CategoryAxisBase, c: boolean, d: Rect, e: number, f: number): {
        p4: number;
        p5: number;
    };
    aay(a: CategoryAxisBase, b: number, c: number, d: number, e: number): {
        p3: number;
        p4: number;
    };
    aa0(a: CategoryAxisBase, b: number, c: number, d: number, e: number): {
        p3: number;
        p4: number;
    };
    aaz(a: CategoryAxisBase, b: number, c: number, d: number, e: number): {
        p3: number;
        p4: number;
    };
    static $$p: string[];
}
/**
 * @hidden
 */
export declare class CategorySeriesView extends MarkerSeriesView implements ISupportsMarkers {
    static $t: Type;
    db: CategorySeries;
    de: number;
    dd(a: CategoryFrame): boolean;
    dg(a: CategoryFrame): void;
    constructor(a: CategorySeries);
    updateMarkerTemplate(a: number, b: number, c: number): void;
    c9: CategoryBucketCalculator;
    da(): CategoryBucketCalculator;
    dc: Pool$1<Marker>;
    get shouldDisplayMarkers(): boolean;
    updateMarkerCount(a: number): void;
    cw(a: (arg1: Marker) => void): void;
    df(): void;
}
