import { Base, Point, Type, INotifyPropertyChanged, IEnumerable, PropertyChangedEventArgs, EventArgs } from "igniteui-angular-core";
import { DomRenderer } from "igniteui-angular-core";
import { RenderingContext } from "igniteui-angular-core";
import { FontInfo } from "igniteui-angular-core";
import { Brush } from "igniteui-angular-core";
import { Rect } from "igniteui-angular-core";
import { TreemapVisualData } from "./TreemapVisualData";
import { List$1 } from "igniteui-angular-core";
import { TreemapVisual } from "./TreemapVisual";
import { Pool$1 } from "igniteui-angular-core";
import { HorizontalAlignment } from "igniteui-angular-core";
import { VerticalAlignment } from "igniteui-angular-core";
import { Thickness } from "igniteui-angular-core";
import { HashSet$1 } from "igniteui-angular-core";
import { TreemapOrientation } from "./TreemapOrientation";
import { Dictionary$2 } from "igniteui-angular-core";
import { DoubleAnimator } from "igniteui-angular-core";
import { BrushCollection } from "igniteui-angular-core";
import { TreemapFillScaleMode } from "./TreemapFillScaleMode";
import { TreemapLabelVerticalFitMode } from "./TreemapLabelVerticalFitMode";
import { TreemapLabelHorizontalFitMode } from "./TreemapLabelHorizontalFitMode";
import { TreemapHeaderDisplayMode } from "./TreemapHeaderDisplayMode";
import { TreemapLayoutType } from "./TreemapLayoutType";
import { FastItemsSource } from "igniteui-angular-core";
import { IFastItemColumn$1 } from "igniteui-angular-core";
import { ObservableCollection$1 } from "igniteui-angular-core";
import { FastItemsSourceEventAction } from "igniteui-angular-core";
import { TreemapValueMappingMode } from "./TreemapValueMappingMode";
import { TreemapNodePointerEventArgs } from "./TreemapNodePointerEventArgs";
import { TreemapNodeStyleMappingTargetType } from "./TreemapNodeStyleMappingTargetType";
/**
 * @hidden
 */
export declare class TreemapView extends Base {
    static $t: Type;
    constructor();
    protected b: TreemapViewRenderer;
    a: Treemap;
    aw(): void;
    a0(): void;
    private o;
    a1(): void;
    af(): void;
    p(): boolean;
    private ae;
    private l;
    private ac;
    private s;
    private r;
    private f;
    private ad;
    private v;
    ax(): void;
    at(a: DomRenderer): void;
    private ak;
    an(a: TreemapVisualData): void;
    private aj;
    private ab;
    aq(): void;
    private ag;
    private ai;
    private am;
    private al;
    private c;
    protected ap(): void;
    private t;
    private u;
    private a3;
    k(): Pool$1<TreemapVisual>;
    protected a2(): void;
    ar(): void;
    ao(): void;
    private az;
    private h;
    private g;
    av(a: FontInfo): void;
    ay(a: FontInfo): void;
    private q;
    private m;
    ah(a: List$1<TreemapVisual>): void;
    aa(a: string): number;
    y(a: string): number;
    w(a: FontInfo): number;
    z(a: string): number;
    x(a: string): number;
    a6(): Brush;
    a8(): Brush;
    a7(): Brush;
    private a4;
    be(): Brush;
    ba(): Brush;
    a9(): Brush;
    bd(): Brush;
    a5(): Brush;
    private e;
    private d;
    j(): FontInfo;
    i(): FontInfo;
    bb(): Brush;
    bc(): Brush;
    private n;
    as(): void;
    au(): void;
}
/**
 * @hidden
 */
export declare class TreemapViewRenderer extends Base {
    static $t: Type;
    constructor();
    b: Pool$1<TreemapVisual>;
    protected c: List$1<TreemapVisual>;
    a(): TreemapVisual;
    g(a: TreemapVisual): void;
    i(a: TreemapVisual): void;
    h(a: TreemapVisual): void;
    j: Brush;
    private d;
    f(a: RenderingContext, b: Rect, c: List$1<TreemapVisual>, d: number): void;
    e(a: TreemapVisualData, b: List$1<TreemapVisual>, c: TreemapView): void;
}
/**
 * @hidden
 */
export declare abstract class TreemapLayoutCalculator extends Base {
    static $t: Type;
    abstract d(a: TreemapFrame, b: TreemapLayoutSettings): void;
    protected static c(a: TreemapTreeNode, b: Rect, c: number, d: TreemapLayoutSettings): boolean;
    protected static a(a: HashSet$1<TreemapTreeNode>, b: TreemapFrame, c: List$1<TreemapTreeNode>, d: Rect, e: TreemapLayoutSettings): boolean;
    protected static b(a: Rect, b: TreemapLayoutSettings): boolean;
    protected h(a: TreemapFrame, b: TreemapTreeNode, c: TreemapLayoutSettings): Rect;
    protected i(a: TreemapFrame, b: TreemapTreeNode, c: TreemapLayoutSettings): Rect;
    protected g(a: TreemapFrame, b: TreemapTreeNode, c: Rect, d: TreemapLayoutSettings): void;
    protected f(a: HashSet$1<TreemapTreeNode>, b: TreemapFrame, c: List$1<TreemapTreeNode>, d: number, e: Rect, f: TreemapLayoutSettings): void;
    protected e(a: HashSet$1<TreemapTreeNode>, b: TreemapFrame, c: List$1<TreemapTreeNode>, d: number, e: Rect, f: TreemapLayoutSettings): void;
}
/**
 * @hidden
 */
export declare class StrippedCalculator extends TreemapLayoutCalculator {
    static $t: Type;
    d(a: TreemapFrame, b: TreemapLayoutSettings): void;
    private q;
    protected o(a: TreemapFrame, b: TreemapTreeNode, c: Rect, d: TreemapLayoutSettings, e: number): void;
    private m;
    private l;
    private n;
    private static j;
    private static k;
    private static p;
}
/**
 * @hidden
 */
export declare class SliceAndDiceCalculator extends TreemapLayoutCalculator {
    static $t: Type;
    d(a: TreemapFrame, b: TreemapLayoutSettings): void;
    private o;
    protected m(a: TreemapFrame, b: TreemapTreeNode, c: Rect, d: TreemapLayoutSettings, e: number): void;
    static j(a: TreemapTreeNode, b: TreemapLayoutSettings, c: number): TreemapOrientation;
    private static k;
    private static n;
    static l: any;
}
/**
 * @hidden
 */
export declare class TreemapLayoutSettings extends Base {
    static $t: Type;
    constructor();
    a: TreemapOrientation;
    h: Rect;
    b: TreemapTreeData;
    j: Thickness;
    i: Thickness;
    e: number;
    f: number;
    g: number;
    c: TreemapTreeNode;
    d: boolean;
}
/**
 * @hidden
 */
export declare class SquarifiedCalculator extends TreemapLayoutCalculator {
    static $t: Type;
    protected n(a: TreemapFrame, b: TreemapTreeNode, c: Rect, d: TreemapLayoutSettings, e: number): void;
    private o;
    private static j;
    private l;
    private m;
    private k;
    d(a: TreemapFrame, b: TreemapLayoutSettings): void;
}
/**
 * @hidden
 */
export declare class TreemapTreeData extends Base {
    static $t: Type;
    constructor();
    a: TreemapTreeNode;
    b: Dictionary$2<string, TreemapTreeNode>;
    d: List$1<string>;
    c: Dictionary$2<string, List$1<TreemapTreeNode>>;
    e(a: TreemapTreeNode): void;
    private g;
    f(): void;
}
/**
 * @hidden
 */
export declare class TreemapTreeNode extends Base {
    static $t: Type;
    constructor();
    i: string;
    k: string;
    b: List$1<TreemapTreeNode>;
    c: List$1<TreemapNodeStyleMapping>;
    f: number;
    g: any;
    d: number;
    j: string;
    h: any;
    a: boolean;
    e(): number;
}
/**
 * @hidden
 */
export declare class Treemap extends Base implements INotifyPropertyChanged {
    static $t: Type;
    constructor();
    private gm;
    private gl;
    private hi;
    protected go(a: FastItemsSourceEventAction, b: number, c: number, d: string): void;
    protected g: TreemapFrame;
    protected f: TreemapFrame;
    protected e: TreemapFrame;
    notifySizeChanged(): void;
    destroy(): void;
    ao(): TreemapVisualData;
    ej(): string;
    protected g7(a: string, b: any, c: any): void;
    protected hc(a: string, b: any, c: any): void;
    private ba;
    private g1;
    an: TreemapView;
    private im;
    get ip(): Rect;
    set ip(a: Rect);
    private gn;
    protected ap: DoubleAnimator;
    private ea;
    get gi(): string;
    set gi(a: string);
    private d9;
    get f8(): string;
    set f8(a: string);
    private d4;
    get ed(): string;
    set ed(a: string);
    private d8;
    get fw(): string;
    set fw(a: string);
    private d7;
    get ff(): string;
    set ff(a: string);
    private d5;
    get eg(): string;
    set eg(a: string);
    private d6;
    get e5(): string;
    set e5(a: string);
    private bq;
    get dataSource(): IEnumerable;
    set dataSource(a: IEnumerable);
    private a;
    get b(): BrushCollection;
    set b(a: BrushCollection);
    private ae;
    get styleMappings(): TreemapNodeStyleMappingCollection;
    private c;
    get d(): TreemapFillScaleMode;
    set d(a: TreemapFillScaleMode);
    private bb;
    get bg(): boolean;
    set bg(a: boolean);
    private dw;
    get dy(): number;
    set dy(a: number);
    private bx;
    get ct(): number;
    set ct(a: number);
    private bw;
    get cs(): number;
    set cs(a: number);
    private n;
    get p(): TreemapLabelVerticalFitMode;
    set p(a: TreemapLabelVerticalFitMode);
    private get o();
    private k;
    get m(): TreemapLabelHorizontalFitMode;
    set m(a: TreemapLabelHorizontalFitMode);
    private get l();
    private hy;
    get h9(): Brush;
    set h9(a: Brush);
    private hs;
    get h3(): Brush;
    set h3(a: Brush);
    private hq;
    get h1(): Brush;
    set h1(a: Brush);
    private hx;
    get h8(): Brush;
    set h8(a: Brush);
    private hv;
    get h6(): Brush;
    set h6(a: Brush);
    private hr;
    get h2(): Brush;
    set h2(a: Brush);
    private hz;
    get ik(): Brush;
    set ik(a: Brush);
    private hp;
    get h0(): Brush;
    set h0(a: Brush);
    private hu;
    get h5(): Brush;
    set h5(a: Brush);
    private ht;
    get h4(): Brush;
    set h4(a: Brush);
    private at;
    get aw(): FontInfo;
    set aw(a: FontInfo);
    private as;
    get au(): FontInfo;
    set au(a: FontInfo);
    private h;
    get j(): TreemapHeaderDisplayMode;
    set j(a: TreemapHeaderDisplayMode);
    private get i();
    private b0;
    get cx(): number;
    set cx(a: number);
    private b2;
    get cz(): number;
    set cz(a: number);
    private b1;
    get cy(): number;
    set cy(a: number);
    private bz;
    get cw(): number;
    set cw(a: number);
    private ca;
    get c7(): number;
    set c7(a: number);
    private cc;
    get c9(): number;
    set c9(a: number);
    private cb;
    get c8(): number;
    set c8(a: number);
    private b9;
    get c6(): number;
    set c6(a: number);
    private b5;
    get c2(): number;
    set c2(a: number);
    private b7;
    get c4(): number;
    set c4(a: number);
    private b6;
    get c3(): number;
    set c3(a: number);
    private b4;
    get c1(): number;
    set c1(a: number);
    private cf;
    get dc(): number;
    set dc(a: number);
    private cj;
    get dg(): number;
    set dg(a: number);
    private ch;
    get de(): number;
    set de(a: number);
    private cd;
    get da(): number;
    set da(a: number);
    private cg;
    get dd(): number;
    set dd(a: number);
    private ck;
    get dh(): number;
    set dh(a: number);
    private ci;
    get df(): number;
    set df(a: number);
    private ce;
    get db(): number;
    set db(a: number);
    private hm;
    get hn(): HorizontalAlignment;
    set hn(a: HorizontalAlignment);
    private iq;
    get ir(): VerticalAlignment;
    set ir(a: VerticalAlignment);
    private by;
    get cv(): number;
    set cv(a: number);
    private hw;
    get h7(): Brush;
    set h7(a: Brush);
    private cm;
    get dt(): number;
    set dt(a: number);
    private ah;
    get ai(): TreemapOrientation;
    set ai(a: TreemapOrientation);
    private r;
    get s(): TreemapLayoutType;
    set s(a: TreemapLayoutType);
    private b8;
    get c5(): number;
    set c5(a: number);
    private dx;
    get d1(): number;
    set d1(a: number);
    private cn;
    protected get du(): number;
    protected set du(a: number);
    private dv;
    private aq;
    get ar(): FastItemsSource;
    set ar(a: FastItemsSource);
    private a1;
    get a8(): IFastItemColumn$1<number>;
    set a8(a: IFastItemColumn$1<number>);
    private ax;
    get a2(): IFastItemColumn$1<any>;
    set a2(a: IFastItemColumn$1<any>);
    private a0;
    get a5(): IFastItemColumn$1<any>;
    set a5(a: IFastItemColumn$1<any>);
    private ay;
    get a3(): IFastItemColumn$1<any>;
    set a3(a: IFastItemColumn$1<any>);
    private az;
    get a4(): IFastItemColumn$1<any>;
    set a4(a: IFastItemColumn$1<any>);
    private cl;
    get di(): number;
    set di(a: number);
    private bt;
    get cp(): number;
    set cp(a: number);
    private b3;
    get c0(): number;
    set c0(a: number);
    private bs;
    get co(): number;
    set co(a: number);
    private a9;
    protected a6(a: string): IFastItemColumn$1<number>;
    protected a7(a: string): IFastItemColumn$1<any>;
    gt(): void;
    protected bf: boolean;
    protected bi: boolean;
    protected be: boolean;
    get bc(): boolean;
    private ak;
    private aj;
    protected q: TreemapLayoutCalculator;
    protected hb(): void;
    private bh;
    private dn;
    private dq;
    private dr;
    private dp;
    private ho;
    private is;
    private dj;
    private dl;
    private dm;
    private dk;
    private bu;
    gg(a: TreemapTreeNode, b: string, c: number, d: number, e: number): string;
    private f7;
    private bv;
    private ds;
    propertyChanged: (sender: any, e: PropertyChangedEventArgs) => void;
    private ib;
    private ih;
    private ie;
    private av;
    onDetachedFromUI(): void;
    onAttachedToUI(): void;
    private ic;
    private ii;
    private id;
    private ig;
    private ia;
    private cu;
    private ij;
    protected he(a: TreemapFrame): void;
    private d0;
    private io;
    private cq;
    protected bm(): boolean;
    hf(): void;
    private bd;
    private bl;
    private cr;
    private bj;
    u(a: Point): TreemapNodeFrame;
    private dz;
    v(a: Point): TreemapNodeFrame;
    private hh;
    private get bn();
    provideContainer(a: DomRenderer): void;
    gr(): void;
    protected w: TreemapNodeFrame;
    private t;
    protected get x(): TreemapNodeFrame;
    protected set x(a: TreemapNodeFrame);
    private gq;
    private gs;
    private y;
    private d2;
    get d3(): any;
    set d3(a: any);
    protected am: TreemapTreeNode;
    protected al: TreemapTreeNode;
    g2(a: Point): void;
    g6(a: Point): void;
    private hj;
    private bk;
    gx(source_: any, a: number, b: any, c: any): void;
    gu(source_: any): void;
    private bo;
    static bp(a: any, b: any): boolean;
    gv(source_: any, a: number, b: any): void;
    gw(source_: any, a: number, b: any): void;
    g3(a: Point): void;
    g4(a: Point): void;
    protected il: Point;
    protected hl(a: Point): void;
    hg(a: Point): void;
    g5(a: Point): void;
    private hk;
    g8(a: Point): void;
    g9(a: Point): void;
    ha(a: TreemapNodeStyle): void;
    nodeStyling: (sender: any, args: TreemapNodeStylingEventArgs) => void;
    nodePointerOver: (sender: any, args: TreemapNodePointerEventArgs) => void;
    nodePointerEnter: (sender: any, args: TreemapNodePointerEventArgs) => void;
    nodePointerLeave: (sender: any, args: TreemapNodePointerEventArgs) => void;
    nodePointerPressed: (sender: any, args: TreemapNodePointerEventArgs) => void;
    nodePointerReleased: (sender: any, args: TreemapNodePointerEventArgs) => void;
}
/**
 * @hidden
 */
export declare class TreemapNodeStyle extends Base implements INotifyPropertyChanged {
    static $t: Type;
    a: Treemap;
    protected au(a: string, b: any, c: any): void;
    private c;
    at(): void;
    b(a: string): boolean;
    protected av(a: string, b: any, c: any): void;
    private a0;
    get a7(): Brush;
    set a7(a: Brush);
    private az;
    get a6(): Brush;
    set a6(a: Brush);
    private a2;
    get a9(): Brush;
    set a9(a: Brush);
    private x;
    get ai(): string;
    set ai(a: string);
    private a4;
    get bb(): Brush;
    set bb(a: Brush);
    private a1;
    get a8(): Brush;
    set a8(a: Brush);
    private f;
    get p(): number;
    set p(a: number);
    private h;
    get r(): number;
    set r(a: number);
    private g;
    get q(): number;
    set q(a: number);
    private e;
    get o(): number;
    set o(a: number);
    private j;
    get t(): number;
    set t(a: number);
    private l;
    get v(): number;
    set v(a: number);
    private k;
    get u(): number;
    set u(a: number);
    private i;
    get s(): number;
    set s(a: number);
    private d;
    get n(): number;
    set n(a: number);
    private aw;
    get ax(): HorizontalAlignment;
    set ax(a: HorizontalAlignment);
    private bc;
    get bd(): VerticalAlignment;
    set bd(a: VerticalAlignment);
    private ay;
    get a5(): Brush;
    set a5(a: Brush);
    private a3;
    get ba(): Brush;
    set ba(a: Brush);
    private m;
    get w(): number;
    set w(a: number);
    propertyChanged: (sender: any, e: PropertyChangedEventArgs) => void;
}
/**
 * @hidden
 */
export declare class TreemapNodeStyleMapping extends TreemapNodeStyle {
    static $t: Type;
    private be;
    get bf(): TreemapNodeStyleMappingTargetType;
    set bf(a: TreemapNodeStyleMappingTargetType);
    private bo;
    get bs(): string;
    set bs(a: string);
    private bj;
    get bl(): number;
    set bl(a: number);
    private bi;
    get bk(): number;
    set bk(a: number);
    private bm;
    get bn(): any;
    set bn(a: any);
    private bg;
    get bh(): TreemapValueMappingMode;
    set bh(a: TreemapValueMappingMode);
}
/**
 * @hidden
 */
export declare class TreemapNodeStyleMappingCollection extends ObservableCollection$1<TreemapNodeStyleMapping> {
    static $t: Type;
    constructor();
    collectionResetting: (sender: any, e: EventArgs) => void;
    protected p(): void;
}
/**
 * @hidden
 */
export declare class TreemapNodeStylingEventArgs extends EventArgs {
    static $t: Type;
    private _value;
    get value(): number;
    set value(a: number);
    private _sum;
    get sum(): number;
    set sum(a: number);
    private _customValue;
    get customValue(): any;
    set customValue(a: any);
    private _item;
    get item(): any;
    set item(a: any);
    private _parentItem;
    get parentItem(): any;
    set parentItem(a: any);
    private _label;
    get label(): string;
    set label(a: string);
    private _parentValue;
    get parentValue(): number;
    set parentValue(a: number);
    private _parentLabel;
    get parentLabel(): string;
    set parentLabel(a: string);
    private _parentSum;
    get parentSum(): number;
    set parentSum(a: number);
    private _isParent;
    get isParent(): boolean;
    set isParent(a: boolean);
    private _style;
    get style(): TreemapNodeStyle;
    set style(a: TreemapNodeStyle);
}
/**
 * @hidden
 */
export declare class TreemapFrame extends Base {
    static $t: Type;
    constructor();
    private d;
    e: List$1<string>;
    h(a: number, b: TreemapFrame, c: TreemapFrame): void;
    private i;
    private j;
    private k;
    m(a: TreemapTreeNode, b: Rect): void;
    n(a: TreemapTreeNode, b: boolean): void;
    b(a: TreemapTreeNode): boolean;
    o(a: TreemapTreeNode): Rect;
    l(a: TreemapTreeNode, b: string, c: Brush, d: Brush, e: Brush, f: Brush, g: number, h: TreemapHeaderDisplayMode, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number, q: number, r: number, s: HorizontalAlignment, t: VerticalAlignment): void;
    g(): void;
    c(a: string): boolean;
    a(a: string): TreemapNodeFrame;
    f(a: TreemapTreeNode, b: TreemapNodeStyle, c: (arg1: TreemapTreeNode, arg2: Brush, arg3: Brush) => Brush): void;
}
/**
 * @hidden
 */
export declare class TreemapNodeFrame extends Base {
    static $t: Type;
    constructor();
    y: Rect;
    e: TreemapTreeNode;
    r: string;
    static b(a: number, b: TreemapNodeFrame, c: TreemapNodeFrame): TreemapNodeFrame;
    static d(a: number, b: TreemapNodeFrame): TreemapNodeFrame;
    static c(a: number, b: TreemapNodeFrame): TreemapNodeFrame;
    s: string;
    u: Brush;
    x: Brush;
    q: number;
    i: number;
    k: number;
    j: number;
    h: number;
    n: number;
    p: number;
    o: number;
    m: number;
    w: Brush;
    v: Brush;
    a: TreemapHeaderDisplayMode;
    l: number;
    g: number;
    t: HorizontalAlignment;
    z: VerticalAlignment;
    f: boolean;
}
