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();
    ku(): void;
    ag(): Axis[];
    hw(a: any, b: string): any;
    q4: boolean;
    q3: boolean;
    protected qw: boolean;
    protected qv: boolean;
    protected get_dx(): boolean;
    private qh;
    private qi;
    protected get_c2(): boolean;
    protected qf(a: any, b: Point, c: HighlightingInfo): HighlightingInfo;
    protected qg(a: any, b: Point, c: HighlightingInfo): HighlightingInfo;
    private qn;
    get qo(): ShapeItemSearchMode;
    set qo(a: ShapeItemSearchMode);
    protected qp(): ShapeItemSearchMode;
    qq: ShapeItemSearchMode;
    rm: number;
    rl: number;
    f5(a: Point): number;
    private p7;
    private p8;
    protected r2(a: Point): Tuple$2<number, Point>;
    private r1;
    protected get_qx(): boolean;
    protected get qx(): boolean;
    private r0;
    protected rh(a: Point): number;
    pl(a: Point, b: boolean, c: boolean): Point;
    ht(a: Point): any;
    protected qe(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 ra(): boolean;
    protected q9(): boolean;
    protected qr: ShapeSeriesRenderManager;
    rw: string;
    private qt;
    get qu(): IFastItemColumn$1<any>;
    set qu(a: IFastItemColumn$1<any>);
    qk: NumericXAxis;
    qm: NumericYAxis;
    private q1;
    private static q5;
    private convertToListList;
    protected cj(a: string): IFastItemColumn$1<any>;
    protected l3(a: any, b: string, c: any, d: any): void;
    protected q8(): boolean;
    protected q7(): boolean;
    qz(a: any): boolean;
    qy(a: any): boolean;
    private qj;
    private ql;
    private rg;
    rc: List$1<Rect>;
    private sb;
    private so;
    private re;
    private p4;
    private p6;
    private p5;
    private p3;
    protected get_q2(): boolean;
    protected get q2(): boolean;
    protected rb(): boolean;
    mi(a: boolean): void;
    mg(a: Rect, b: Rect, c: RenderSurface, d: string, e: number): void;
    protected sa(a: SeriesView): void;
    protected r6(a: FrameworkElement, b: boolean, c: number, d: number, e: boolean, f: boolean): void;
    protected r5(a: number, b: number, c: boolean): void;
    protected r8(a: AssigningShapeStyleEventArgs): void;
    protected r7(a: AssigningShapeMarkerStyleEventArgs): void;
    p9(a: number, b: number): any[];
    protected qa(a: number, b: number): any[];
    private static r9;
    le(): void;
    protected m5(a: Rect, b: Rect): void;
    protected m4(a: Rect, b: Rect): void;
    protected k0(a: FastItemsSourceEventAction, b: number, c: number, d: string): void;
    e9(a: Rect, b: Rect, c: SeriesView): boolean;
    protected get_q6(): boolean;
    protected get q6(): boolean;
    ly(a: SeriesView): void;
    private qs;
    private rf;
    private qd;
    private r3;
    sn: Rect;
    private sd;
    kx(a: boolean, b: SeriesView): void;
    private r4;
    private sc;
    at(a: Point, b: boolean): DataContext;
    rn(a: number): any;
    protected get_e3(): boolean;
    protected set_e3(a: boolean): void;
    ri: number;
    rj: number;
    ap(a: Axis): AxisRange;
    protected get_ed(): boolean;
    protected get_d2(): boolean;
    get q0(): boolean;
    sp(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;
}
