import { Series } from "./Series";
import { DependencyObject } from "igniteui-angular-core";
import { HighlightingInfo } from "./HighlightingInfo";
import { ShapeItemSearchMode } from "./ShapeItemSearchMode";
import { IFastItemColumn$1 } from "igniteui-angular-core";
import { Point, Type } from "igniteui-angular-core";
import { NumericXAxis } from "./NumericXAxis";
import { NumericYAxis } from "./NumericYAxis";
import { List$1 } from "igniteui-angular-core";
import { Rect } from "igniteui-angular-core";
import { StyleShapeEventArgs } from "./StyleShapeEventArgs";
import { Axis } from "./Axis";
import { FrameworkElement } from "igniteui-angular-core";
import { DataContext } from "igniteui-angular-core";
import { Marker } from "./Marker";
import { Tuple$2 } from "igniteui-angular-core";
import { ShapeHitRegion } from "./ShapeHitRegion";
import { AssigningShapeStyleEventArgs } from "./AssigningShapeStyleEventArgs";
import { AssigningShapeMarkerStyleEventArgs } from "./AssigningShapeMarkerStyleEventArgs";
import { FlattenedShape } from "./FlattenedShape";
import { SeriesView } from "./SeriesView";
import { RenderSurface } from "./RenderSurface";
import { Dictionary$2 } from "igniteui-angular-core";
import { AssigningSeriesShapeStyleEventArgsBase } from "./AssigningSeriesShapeStyleEventArgsBase";
import { SeriesRenderManager } from "./SeriesRenderManager";
import { Shape } from "igniteui-angular-core";
import { AssigningSeriesStyleEventArgsBase } from "./AssigningSeriesStyleEventArgsBase";
import { FastItemsSourceEventAction } from "igniteui-angular-core";
import { AxisRange } from "./AxisRange";
import { Style } from "igniteui-angular-core";
import { StyleSelector } from "./StyleSelector";
import { Path } from "igniteui-angular-core";
import { Pool$1 } from "igniteui-angular-core";
import { PointCollection } from "igniteui-angular-core";
import { PathGeometry } from "igniteui-angular-core";
import { RenderingContext } from "igniteui-angular-core";
/**
 * @hidden
 */
export declare abstract class ShapeSeriesBase extends Series {
    static $t: Type;
    constructor();
    kx(): void;
    ag(): Axis[];
    hy(a: any, b: string): any;
    q9: boolean;
    q8: boolean;
    protected q1: boolean;
    protected q0: boolean;
    protected get_dy(): boolean;
    private qm;
    private qn;
    protected get_c2(): boolean;
    protected qk(a: any, b: Point, c: HighlightingInfo): HighlightingInfo;
    protected ql(a: any, b: Point, c: HighlightingInfo): HighlightingInfo;
    private qs;
    get qt(): ShapeItemSearchMode;
    set qt(a: ShapeItemSearchMode);
    protected qu(): ShapeItemSearchMode;
    qv: ShapeItemSearchMode;
    rr: number;
    rq: number;
    f7(a: Point): number;
    private qc;
    private qd;
    protected r7(a: Point): Tuple$2<number, Point>;
    private r6;
    protected get_q2(): boolean;
    protected get q2(): boolean;
    private r5;
    protected rm(a: Point): number;
    pq(a: Point, b: boolean, c: boolean): Point;
    hv(a: Point): any;
    protected qj(a: any, b: Point, c: HighlightingInfo): HighlightingInfo;
    aw(a: any, b: Point, c: boolean): HighlightingInfo;
    ax(a: any, b: Point, c: boolean): HighlightingInfo;
    assigningShapeStyle: (sender: any, args: AssigningShapeStyleEventArgs) => void;
    assigningShapeMarkerStyle: (sender: any, args: AssigningShapeMarkerStyleEventArgs) => void;
    protected rf(): boolean;
    protected re(): boolean;
    protected qw: ShapeSeriesRenderManager;
    r1: string;
    private qy;
    get qz(): IFastItemColumn$1<any>;
    set qz(a: IFastItemColumn$1<any>);
    qp: NumericXAxis;
    qr: NumericYAxis;
    private q6;
    private static ra;
    private convertToListList;
    protected cj(a: string): IFastItemColumn$1<any>;
    protected l7(a: any, b: string, c: any, d: any): void;
    protected rd(): boolean;
    protected rc(): boolean;
    q4(a: any): boolean;
    q3(a: any): boolean;
    private qo;
    private qq;
    private rl;
    rh: List$1<Rect>;
    private sg;
    private st;
    private rj;
    private p9;
    private qb;
    private qa;
    private p8;
    protected get_q7(): boolean;
    protected get q7(): boolean;
    protected rg(): boolean;
    mm(a: boolean): void;
    mk(a: Rect, b: Rect, c: RenderSurface, d: string, e: number): void;
    protected sf(a: SeriesView): void;
    protected sb(a: FrameworkElement, b: boolean, c: number, d: number, e: boolean, f: boolean): void;
    protected sa(a: number, b: number, c: boolean): void;
    protected sd(a: AssigningShapeStyleEventArgs): void;
    protected sc(a: AssigningShapeMarkerStyleEventArgs): void;
    qe(a: number, b: number): any[];
    protected qf(a: number, b: number): any[];
    private static se;
    li(): void;
    protected m9(a: Rect, b: Rect): void;
    protected m8(a: Rect, b: Rect): void;
    protected k3(a: FastItemsSourceEventAction, b: number, c: number, d: string): void;
    fb(a: Rect, b: Rect, c: SeriesView): boolean;
    protected get_rb(): boolean;
    protected get rb(): boolean;
    l2(a: SeriesView): void;
    private qx;
    private rk;
    private qi;
    private r8;
    ss: Rect;
    private si;
    k0(a: boolean, b: SeriesView): void;
    private r9;
    private sh;
    at(a: Point, b: boolean): DataContext;
    rs(a: number): any;
    protected get_e5(): boolean;
    protected set_e5(a: boolean): void;
    rn: number;
    ro: number;
    ap(a: Axis): AxisRange;
    protected get_ee(): boolean;
    protected get_d3(): boolean;
    get q5(): boolean;
    su(a: any, b: DependencyObject, c: Style): Style;
    styleShape: (sender: any, e: StyleShapeEventArgs) => void;
    static $$p: string[];
}
/**
 * @hidden
 */
export declare class ShapeSeriesRenderManager extends SeriesRenderManager {
    static $t: Type;
    protected c(): AssigningSeriesStyleEventArgsBase;
    protected a(): AssigningSeriesShapeStyleEventArgsBase;
    au: AssigningShapeMarkerStyleEventArgs;
    av: AssigningShapeStyleEventArgs;
    az(a: Shape, b: number, c: boolean): void;
    aw(a: ShapeSeriesBase, b: boolean, c: (orderedStartIndex: number, orderedEndIndex: number) => any[]): void;
    ax(a: Series, b: boolean, c: (orderedStartIndex: number, orderedEndIndex: number) => any[]): void;
    ay(a: AssigningSeriesStyleEventArgsBase, b: number, c: number, d: boolean): void;
}
/**
 * @hidden
 */
export declare abstract class ShapeSeriesViewBase extends SeriesView {
    static $t: Type;
    constructor(a: ShapeSeriesBase);
    b9: Dictionary$2<number, FlattenedShape>;
    b1(a: Point): Marker;
    get cb(): List$1<ShapeHitRegion>;
    protected b5(): Pool$1<FrameworkElement>;
    b8(a: Rect): boolean;
    static cc(a: List$1<FlattenedShape>): List$1<PointCollection>;
    get b7(): boolean;
    protected b3: ShapeSeriesBase;
    private ca;
    cf(a: number, b: any, c: Rect, d: List$1<FlattenedShape>): void;
    protected c1(a: number, b: any): FrameworkElement;
    protected abstract ch(a: FrameworkElement, b: PathGeometry): void;
    static ci(a: ShapeSeriesViewBase, b: Path, c: any): void;
    cm(a: (arg1: FrameworkElement) => void): void;
    cj(a: FrameworkElement, b: any, c: boolean): void;
    protected cl(a: FrameworkElement, b: boolean): void;
    private cg;
    private cu;
    protected abstract c2(a: number, b: List$1<PointCollection>): PathGeometry;
    cr(): void;
    cq(): void;
    private ce;
    ct(a: number, b: number): void;
    ck(): void;
    protected cd: List$1<Path>;
    cy(): FrameworkElement;
    cn(a: FrameworkElement): void;
    co(a: FrameworkElement): void;
    cp(a: FrameworkElement): void;
    protected b6: Pool$1<FrameworkElement>;
    c3(a: number, b: List$1<PointCollection>, c: boolean): PathGeometry;
    protected ac(a: number): any;
    private c4;
    protected ab(a: number): any;
    protected a6(a: RenderingContext, b: boolean): void;
    private b4;
    private c5;
    get c6(): Style;
    cw(a: StyleSelector): void;
    cv(a: Style): void;
    cz(a: Point, b: boolean): FrameworkElement;
    c0(a: Point, b: boolean, c: boolean): FrameworkElement;
    b2(a: Point, b: boolean, c: boolean): ShapeHitRegion;
    private by;
    private b0;
    private bz;
    private bx;
    cs(a: number[], b: number[], c: number[], d: number[]): void;
    cx(): void;
    al(a: any): void;
}
