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();
    kz(): void;
    ag(): Axis[];
    h1(a: any, b: string): any;
    rd: boolean;
    rc: boolean;
    protected q5: boolean;
    protected q4: boolean;
    protected get_d0(): boolean;
    private qq;
    private qr;
    protected get_c3(): boolean;
    protected qo(a: any, b: Point, c: HighlightingInfo): HighlightingInfo;
    protected qp(a: any, b: Point, c: HighlightingInfo): HighlightingInfo;
    private qw;
    get qx(): ShapeItemSearchMode;
    set qx(a: ShapeItemSearchMode);
    protected qy(): ShapeItemSearchMode;
    qz: ShapeItemSearchMode;
    rv: number;
    ru: number;
    f9(a: Point): number;
    private qg;
    private qh;
    protected sb(a: Point): Tuple$2<number, Point>;
    private sa;
    protected get_q6(): boolean;
    protected get q6(): boolean;
    private r9;
    protected rq(a: Point): number;
    ps(a: Point, b: boolean, c: boolean): Point;
    hy(a: Point): any;
    protected qn(a: any, b: Point, c: HighlightingInfo): HighlightingInfo;
    ax(a: any, b: Point, c: boolean): HighlightingInfo;
    ay(a: any, b: Point, c: boolean): HighlightingInfo;
    assigningShapeStyle: (sender: any, args: AssigningShapeStyleEventArgs) => void;
    assigningShapeMarkerStyle: (sender: any, args: AssigningShapeMarkerStyleEventArgs) => void;
    protected rj(): boolean;
    protected ri(): boolean;
    protected q0: ShapeSeriesRenderManager;
    r5: string;
    private q2;
    get q3(): IFastItemColumn$1<any>;
    set q3(a: IFastItemColumn$1<any>);
    qt: NumericXAxis;
    qv: NumericYAxis;
    private ra;
    private static re;
    private convertToListList;
    protected ck(a: string): IFastItemColumn$1<any>;
    protected l9(a: any, b: string, c: any, d: any): void;
    protected rh(): boolean;
    protected rg(): boolean;
    q8(a: any): boolean;
    q7(a: any): boolean;
    private qs;
    private qu;
    private rp;
    rl: List$1<Rect>;
    private sk;
    private sx;
    private rn;
    private qd;
    private qf;
    private qe;
    private qc;
    protected get_rb(): boolean;
    protected get rb(): boolean;
    protected rk(): boolean;
    mo(a: boolean): void;
    mm(a: Rect, b: Rect, c: RenderSurface, d: string, e: number): void;
    protected sj(a: SeriesView): void;
    protected sf(a: FrameworkElement, b: boolean, c: number, d: number, e: boolean, f: boolean): void;
    protected se(a: number, b: number, c: boolean): void;
    protected sh(a: AssigningShapeStyleEventArgs): void;
    protected sg(a: AssigningShapeMarkerStyleEventArgs): void;
    qi(a: number, b: number): any[];
    protected qj(a: number, b: number): any[];
    private static si;
    lk(): void;
    protected nb(a: Rect, b: Rect): void;
    protected na(a: Rect, b: Rect): void;
    protected k5(a: FastItemsSourceEventAction, b: number, c: number, d: string): void;
    fd(a: Rect, b: Rect, c: SeriesView): boolean;
    protected get_rf(): boolean;
    protected get rf(): boolean;
    l4(a: SeriesView): void;
    private q1;
    private ro;
    private qm;
    private sc;
    sw: Rect;
    private sm;
    k2(a: boolean, b: SeriesView): void;
    private sd;
    private sl;
    au(a: Point, b: boolean): DataContext;
    rw(a: number): any;
    protected get_e7(): boolean;
    protected set_e7(a: boolean): void;
    rr: number;
    rs: number;
    aq(a: Axis): AxisRange;
    protected get_eg(): boolean;
    protected get_d5(): boolean;
    get q9(): boolean;
    sy(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;
    aw: AssigningShapeMarkerStyleEventArgs;
    ax: AssigningShapeStyleEventArgs;
    a1(a: Shape, b: number, c: boolean): void;
    ay(a: ShapeSeriesBase, b: boolean, c: (orderedStartIndex: number, orderedEndIndex: number) => any[]): void;
    az(a: Series, b: boolean, c: (orderedStartIndex: number, orderedEndIndex: number) => any[]): void;
    a0(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;
}
