import { Base, Type, INotifyPropertyChanged, PropertyChangedEventArgs, Point } from "igniteui-angular-core";
import { List$1 } from "igniteui-angular-core";
import { DataAbbreviationMode } from "igniteui-angular-core";
import { Brush } from "igniteui-angular-core";
import { FontInfo } from "igniteui-angular-core";
import { Thickness } from "igniteui-angular-core";
import { Size } from "igniteui-angular-core";
import { Rect } from "igniteui-angular-core";
import { DataLegendSeriesContext } from "igniteui-angular-core";
import { DataTemplate } from "igniteui-angular-core";
import { LegendItemBadgeShape } from "igniteui-angular-core";
import { Control } from "igniteui-angular-core";
import { IDataLegend } from "igniteui-angular-core";
import { IOnDemandRender } from "igniteui-angular-core";
import { DataLegendValueMode } from "igniteui-angular-core";
import { DataLegendHeaderDateMode } from "igniteui-angular-core";
import { DataLegendHeaderTimeMode } from "igniteui-angular-core";
import { DataLegendSummaryType } from "igniteui-angular-core";
import { IDataLegendTarget } from "igniteui-angular-core";
import { DataLegendUnitsMode } from "igniteui-angular-core";
import { DataLegendLabelMode } from "igniteui-angular-core";
import { BindingFormatter } from "igniteui-angular-core";
import { DataLegendVisualData } from "./DataLegendVisualData";
import { TextBlock } from "igniteui-angular-core";
import { IDataLegendSeries } from "igniteui-angular-core";
import { FrameworkElement } from "igniteui-angular-core";
import { DataLegendSummaryEventArgs } from "./DataLegendSummaryEventArgs";
import { DataLegendStylingRowEventArgs } from "./DataLegendStylingRowEventArgs";
import { DataLegendStylingColumnEventArgs } from "./DataLegendStylingColumnEventArgs";
import { RenderingContext } from "igniteui-angular-core";
import { Pool$1 } from "igniteui-angular-core";
import { ContentControl } from "igniteui-angular-core";
import { DomRenderer } from "igniteui-angular-core";
/**
 * @hidden
 */
export declare class DataLegendContent extends Base {
    static $t: Type;
    private a;
    get b(): List$1<DataLegendRowInfo>;
    d: number;
    c: number;
    f(): void;
    e(a: DataLegendRowInfo): void;
}
/**
 * @hidden
 */
export declare class DataLegendRowBase extends Base {
    static $t: Type;
    constructor(a: DataLegendView, b: boolean, c: boolean, d: number);
    e: number;
    b: boolean;
    d: boolean;
    a: boolean;
    c: boolean;
}
/**
 * @hidden
 */
export declare class DataLegendRowCell extends DataLegendRowBase {
    static $t: Type;
    constructor(a: DataLegendView, b: boolean, c: boolean, d: number);
    s: number;
    f: DataAbbreviationMode;
    r: number;
    v: string;
    t: string;
    w: string;
    u: string;
    y: Brush;
    z: Brush;
    aa: Brush;
    g: FontInfo;
    i: FontInfo;
    h: FontInfo;
    ak: Thickness;
    am: Thickness;
    al: Thickness;
    af: Size;
    aj: Size;
    ah: Size;
    m: boolean;
    j: boolean;
    ab: Rect;
    ad: Rect;
    ac: Rect;
    ae: Size;
    ai: Size;
    ag: Size;
    k(): boolean;
    n(): boolean;
    p(): boolean;
    l(): boolean;
    o(): boolean;
    q(): boolean;
    x(): void;
}
/**
 * @hidden
 */
export declare class DataLegendRowInfo extends DataLegendRowBase {
    static $t: Type;
    k: List$1<DataLegendRowCell>;
    o(a: (arg1: DataLegendRowCell) => void): void;
    constructor(a: DataLegendView, b: boolean, c: boolean, d: number);
    j: boolean;
    m: string;
    f: number[];
    g: DataLegendSeriesContext;
    n: string;
    q: Brush;
    i: FontInfo;
    p: DataTemplate;
    t: Size;
    l: any;
    h: LegendItemBadgeShape;
    w: Thickness;
    v: Thickness;
    x: Thickness;
    u: Size;
    r: Rect;
    s: Rect;
}
/**
 * @hidden
 */
export declare class XamDataLegend extends Control implements INotifyPropertyChanged, IDataLegend, IOnDemandRender {
    static $t: Type;
    bw: boolean;
    private ch;
    protected get cl(): number;
    protected set cl(a: number);
    private ci;
    protected get cm(): number;
    protected set cm(a: number);
    private cj;
    get cn(): number;
    set cn(a: number);
    includedSeries: string[];
    excludedSeries: string[];
    includedColumns: string[];
    excludedColumns: string[];
    b2: boolean;
    bx: boolean;
    an: DataAbbreviationMode;
    ct: number;
    cu: number;
    a3: DataLegendValueMode;
    ex: string;
    ez: string;
    b3: boolean;
    e5: string;
    ah: any[];
    ir: Thickness;
    b4: boolean;
    fe: string;
    b5: boolean;
    is: Thickness;
    h9: Brush;
    private bj;
    get bt(): FontInfo;
    set bt(a: FontInfo);
    dc: string;
    ag: any[];
    c8: string;
    ap: DataLegendHeaderDateMode;
    aq: DataLegendHeaderTimeMode;
    dh: string;
    h0: Brush;
    ij: Thickness;
    ii: Thickness;
    bz: boolean;
    private bb;
    get bl(): FontInfo;
    set bl(a: FontInfo);
    h4: Brush;
    private be;
    get bo(): FontInfo;
    set bo(a: FontInfo);
    a1: DataLegendSummaryType;
    d8: string;
    im: Thickness;
    il: Thickness;
    h6: Brush;
    private bg;
    get bq(): FontInfo;
    set bq(a: FontInfo);
    d3: string;
    h3: Brush;
    private bd;
    get bn(): FontInfo;
    set bn(a: FontInfo);
    ee: string;
    h5: Brush;
    private bf;
    get bp(): FontInfo;
    set bp(a: FontInfo);
    ih: Thickness;
    a8: LegendItemBadgeShape;
    targetCursorPositionX: number;
    targetCursorPositionY: number;
    a7: IDataLegendTarget;
    target: any;
    a2: DataLegendUnitsMode;
    er: string;
    h8: Brush;
    ip: Thickness;
    private bi;
    get bs(): FontInfo;
    set bs(a: FontInfo);
    io: Thickness;
    h7: Brush;
    private bh;
    get br(): FontInfo;
    set br(a: FontInfo);
    ar: DataLegendLabelMode;
    h1: Brush;
    ik: Thickness;
    private bc;
    get bm(): FontInfo;
    set bm(a: FontInfo);
    private ck;
    get pixelScalingRatio(): number;
    set pixelScalingRatio(a: number);
    exportSerializedVisualData(): string;
    cp(a: number, b: Rect): number;
    co(a: number, b: Rect): number;
    ia(a: Rect, b: Rect): Rect;
    exportVisualData(): DataLegendVisualData;
    private f7;
    private bk;
    calculateColumnSummary: (sender: any, args: DataLegendSummaryEventArgs) => void;
    private a0;
    private a6;
    styleHeaderRow: (sender: any, row: DataLegendStylingRowEventArgs) => void;
    styleSeriesRow: (sender: any, row: DataLegendStylingRowEventArgs) => void;
    styleSummaryRow: (sender: any, row: DataLegendStylingRowEventArgs) => void;
    styleSeriesColumn: (sender: any, col: DataLegendStylingColumnEventArgs) => void;
    styleSummaryColumn: (sender: any, col: DataLegendStylingColumnEventArgs) => void;
    private gb;
    private ga;
    private f9;
    private ay;
    private f8;
    private ax;
    private gc;
    propertyChanged: (sender: any, e: PropertyChangedEventArgs) => void;
    protected f0(a: string, b: any, c: any): void;
    private fx;
    private fy;
    private b8;
    private b7;
    private ca;
    private b9;
    private gg;
    private gf;
    private fg;
    private cb;
    private b0;
    notifyCursorPositionChanged(a: Point): void;
    notifySizeChanged(): void;
    notifyVisualPropertiesChanged(a: IDataLegendSeries): void;
    notifySeriesCollectionChanged(): void;
    notifySeriesDataChanged(): void;
    constructor();
    updatePropertyByName(a: string, b: any): void;
    a5: DataLegendView;
    a4(): DataLegendView;
    ib: Rect;
    destroy(): void;
    private _externalObject;
    get externalObject(): any;
    set externalObject(a: any);
    flush(): void;
    onAttachedToUI(): void;
    onDetachedFromUI(): void;
    provideContainer(a: any): void;
    private bu;
    f2(): void;
    private bv;
    get shouldOnDemandRender(): boolean;
    set shouldOnDemandRender(a: boolean);
    doRender(a: RenderingContext, b: number): void;
    ensureUpdated(): void;
    private fp;
    getDesiredSize(): Size;
    private ge;
    private cf;
    private cs;
    fo(): void;
    private fs;
    private f3;
    private f5;
    private f6;
    private f4;
    private ao;
    private cc;
    private cd;
    private b6;
    private cr;
    private fr;
    private b1;
    private fl;
    private ie;
    private ig;
    private ic;
    private ft;
    private d0;
    private dx;
    private fj;
    private am;
    cq(a: number, b: DataAbbreviationMode, c: number, d: number): number;
    c7(a: number, b: DataAbbreviationMode, c: number, d: number): string;
    c6(a: number, b: DataAbbreviationMode, c: number, d: number): string;
    private ce;
    private cg;
    private fk;
    private h2;
    private dy;
    ak: BindingFormatter;
    al: BindingFormatter;
    private d1;
    private fi;
    private cw;
    private a9;
    private gd;
    private by;
    private gh;
    private dz;
    private cx;
    private fh;
    private iq;
    private fz;
    private dw;
    private du;
    ai: BindingFormatter;
    aj: BindingFormatter;
    private dv;
    private fm;
    static $$p: string[];
}
/**
 * @hidden
 */
export declare class DataLegendView extends Base {
    static $t: Type;
    constructor(a: XamDataLegend);
    ar(): void;
    z: List$1<TextBlock>;
    ab: List$1<TextBlock>;
    ad: List$1<TextBlock>;
    ac: List$1<TextBlock>;
    aa: List$1<ContentControl>;
    o: Pool$1<TextBlock>;
    q: Pool$1<TextBlock>;
    s: Pool$1<TextBlock>;
    r: Pool$1<TextBlock>;
    p: Pool$1<ContentControl>;
    bl(): TextBlock;
    ba(a: TextBlock): void;
    bc(a: TextBlock): void;
    bb(a: TextBlock): void;
    bn(): TextBlock;
    bg(a: TextBlock): void;
    bi(a: TextBlock): void;
    bh(a: TextBlock): void;
    bm(): TextBlock;
    bd(a: TextBlock): void;
    bf(a: TextBlock): void;
    be(a: TextBlock): void;
    bk(): TextBlock;
    av(a: TextBlock): void;
    ax(a: TextBlock): void;
    aw(a: TextBlock): void;
    bj(): ContentControl;
    ay(a: ContentControl): void;
    a0(a: ContentControl): void;
    az(a: ContentControl): void;
    a: XamDataLegend;
    au(): void;
    a3(): void;
    private ai;
    ah: DomRenderer;
    t: RenderingContext;
    private b;
    private al;
    private ae;
    a2(a: any): void;
    private at;
    private as;
    private a6;
    a7(a: RenderingContext, b: number): void;
    private ak;
    private aj;
    w(): boolean;
    bu(a: string, b: FontInfo): Size;
    private x;
    private ag;
    private v;
    private y;
    private af;
    a8(a: FrameworkElement, b: number, c: number): void;
    aq(a: DataLegendContent): void;
    ao(a: TextBlock, b: FontInfo): void;
    bt(): Brush;
    br(): Brush;
    bs(): Brush;
    bp(): Brush;
    bq(): Brush;
    bo(): Brush;
    private f;
    l(): FontInfo;
    private h;
    n(): FontInfo;
    private g;
    m(): FontInfo;
    private d;
    j(): FontInfo;
    private e;
    k(): FontInfo;
    private c;
    i(): FontInfo;
    u: (arg1: number, arg2: number) => void;
    am(a: number, b: number): void;
    a5(a: number): void;
    a1(): void;
    a4(): void;
    ap(a: TextBlock, b: FontInfo): void;
    a9(): void;
    an(): void;
}
