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 { DataLegendLayoutMode } from "igniteui-angular-core";
import { BindingFormatter } from "igniteui-angular-core";
import { DataLegendVisualData } from "./DataLegendVisualData";
import { TextBlock } from "igniteui-angular-core";
import { FrameworkElement } from "igniteui-angular-core";
import { DataLegendSummaryEventArgs } from "./DataLegendSummaryEventArgs";
import { DataLegendStylingRowEventArgs } from "./DataLegendStylingRowEventArgs";
import { DataLegendStylingColumnEventArgs } from "./DataLegendStylingColumnEventArgs";
import { IDataLegendSeries } from "igniteui-angular-core";
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: boolean, e: number);
    g: number;
    c: boolean;
    e: boolean;
    a: boolean;
    b: boolean;
    d: boolean;
    f: boolean;
}
/**
 * @hidden
 */
export declare class DataLegendRowCell extends DataLegendRowBase {
    static $t: Type;
    constructor(a: DataLegendView, b: boolean, c: boolean, d: boolean, e: number);
    u: number;
    h: DataAbbreviationMode;
    t: number;
    y: string;
    x: string;
    v: string;
    z: string;
    w: string;
    ab: Brush;
    ac: Brush;
    ad: Brush;
    i: FontInfo;
    k: FontInfo;
    j: FontInfo;
    an: Thickness;
    ap: Thickness;
    ao: Thickness;
    ai: Size;
    am: Size;
    ak: Size;
    o: boolean;
    l: boolean;
    ae: Rect;
    ag: Rect;
    af: Rect;
    ah: Size;
    al: Size;
    aj: Size;
    m(): boolean;
    p(): boolean;
    r(): boolean;
    n(): boolean;
    q(): boolean;
    s(): boolean;
    aa(): void;
}
/**
 * @hidden
 */
export declare class DataLegendRowInfo extends DataLegendRowBase {
    static $t: Type;
    m: List$1<DataLegendRowCell>;
    s(a: (arg1: DataLegendRowCell) => void): void;
    constructor(a: DataLegendView, b: boolean, c: boolean, d: boolean, e: number);
    l: boolean;
    q: string;
    h: number[];
    i: DataLegendSeriesContext;
    r: string;
    u: Brush;
    k: FontInfo;
    y: Size;
    ab: Thickness;
    p: string;
    t: DataTemplate;
    x: Size;
    n: any;
    j: LegendItemBadgeShape;
    o: string;
    aa: Thickness;
    z: Thickness;
    v: Rect;
    w: Rect;
}
/**
 * @hidden
 */
export declare class XamDataLegend extends Control implements INotifyPropertyChanged, IDataLegend, IOnDemandRender {
    static $t: Type;
    b0: boolean;
    private cm;
    protected get cq(): number;
    protected set cq(a: number);
    private cn;
    protected get cr(): number;
    protected set cr(a: number);
    private co;
    get cs(): number;
    set cs(a: number);
    i3: Brush;
    i4: Brush;
    jq: Thickness;
    private js;
    private gu;
    private i8;
    private gt;
    private i7;
    private gs;
    isEmbeddedInDataTooltip: boolean;
    includedSeries: string[];
    excludedSeries: string[];
    includedColumns: string[];
    excludedColumns: string[];
    b9: boolean;
    b1: boolean;
    an: DataAbbreviationMode;
    cz: number;
    c0: number;
    a5: DataLegendValueMode;
    ff: string;
    fh: string;
    ca: boolean;
    fn: string;
    ah: any[];
    j3: Thickness;
    cb: boolean;
    fw: string;
    cc: boolean;
    j4: Thickness;
    jj: Brush;
    private bm;
    get bx(): FontInfo;
    set bx(a: FontInfo);
    du: string;
    ag: any[];
    dq: string;
    ap: DataLegendHeaderDateMode;
    aq: DataLegendHeaderTimeMode;
    dz: string;
    ja: Brush;
    jw: Thickness;
    jv: Thickness;
    b5: boolean;
    private be;
    get bp(): FontInfo;
    set bp(a: FontInfo);
    b3: boolean;
    i9: Brush;
    ju: Thickness;
    jt: Thickness;
    private bd;
    get bo(): FontInfo;
    set bo(a: FontInfo);
    je: Brush;
    private bh;
    get bs(): FontInfo;
    set bs(a: FontInfo);
    a3: DataLegendSummaryType;
    eq: string;
    jz: Thickness;
    jy: Thickness;
    jg: Brush;
    private bj;
    get bu(): FontInfo;
    set bu(a: FontInfo);
    el: string;
    jd: Brush;
    private bg;
    get br(): FontInfo;
    set br(a: FontInfo);
    ew: string;
    jf: Brush;
    private bi;
    get bt(): FontInfo;
    set bt(a: FontInfo);
    jr: Thickness;
    ba: LegendItemBadgeShape;
    targetCursorPositionX: number;
    targetCursorPositionY: number;
    a9: IDataLegendTarget;
    target: any;
    a4: DataLegendUnitsMode;
    e9: string;
    ji: Brush;
    j1: Thickness;
    private bl;
    get bw(): FontInfo;
    set bw(a: FontInfo);
    j0: Thickness;
    jh: Brush;
    private bk;
    get bv(): FontInfo;
    set bv(a: FontInfo);
    ar: DataLegendLabelMode;
    jb: Brush;
    jx: Thickness;
    private b7;
    private bf;
    get bq(): FontInfo;
    set bq(a: FontInfo);
    private cp;
    get pixelScalingRatio(): number;
    set pixelScalingRatio(a: number);
    as: DataLegendLayoutMode;
    i5: Brush;
    i6: Brush;
    cv: number;
    exportSerializedVisualData(): string;
    cu(a: number, b: Rect): number;
    ct(a: number, b: Rect): number;
    jk(a: Rect, b: Rect): Rect;
    exportVisualData(): DataLegendVisualData;
    private gv;
    private bn;
    calculateColumnSummary: (sender: any, args: DataLegendSummaryEventArgs) => void;
    private a2;
    private a8;
    styleHeaderRow: (sender: any, row: DataLegendStylingRowEventArgs) => void;
    styleGroupRow: (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 g0;
    private gz;
    private gy;
    private gx;
    private a0;
    private gw;
    private az;
    private g1;
    propertyChanged: (sender: any, e: PropertyChangedEventArgs) => void;
    protected gl(a: string, b: any, c: any): void;
    private gi;
    private gj;
    private ce;
    private cd;
    private ch;
    private cg;
    private g5;
    private g4;
    private fz;
    private ci;
    private b6;
    notifyCursorPositionChanged(a: Point): void;
    notifySizeChanged(): void;
    notifyVisualPropertiesChanged(a: IDataLegendSeries): void;
    notifySeriesCollectionChanged(): void;
    notifySeriesDataChanged(): void;
    constructor();
    updatePropertyByName(a: string, b: any): void;
    a7: DataLegendView;
    a6(): DataLegendView;
    jl: Rect;
    destroy(): void;
    private _externalObject;
    get externalObject(): any;
    set externalObject(a: any);
    flush(): void;
    onAttachedToUI(): void;
    onDetachedFromUI(): void;
    ensureIndirectContainer(a: any, b: any): void;
    provideContainer(a: any): void;
    private by;
    gn(): void;
    private bz;
    get shouldOnDemandRender(): boolean;
    set shouldOnDemandRender(a: boolean);
    doRender(a: RenderingContext, b: number): void;
    ensureUpdated(): void;
    private f8;
    getDesiredSize(): Size;
    private cl;
    private g3;
    private cf;
    private f9;
    private cy;
    f7(): void;
    private gd;
    private go;
    private gq;
    private gr;
    private gp;
    private ao;
    private cx;
    private b2;
    private gc;
    private gb;
    private b8;
    private f4;
    private jo;
    private jp;
    private jm;
    private ge;
    private ei;
    private eg;
    private f2;
    private am;
    cw(a: number, b: DataAbbreviationMode, c: number, d: number): number;
    dj(a: number, b: DataAbbreviationMode, c: number, d: number): string;
    di(a: number, b: DataAbbreviationMode, c: number, d: number): string;
    private cj;
    private ck;
    private f3;
    private jc;
    private eh;
    ak: BindingFormatter;
    al: BindingFormatter;
    private ej;
    private f1;
    private c2;
    private bb;
    private g2;
    private b4;
    private g6;
    private c3;
    private fy;
    private f0;
    private j2;
    private gk;
    private ef;
    private ed;
    ai: BindingFormatter;
    aj: BindingFormatter;
    private ee;
    private f5;
    static $$p: string[];
}
/**
 * @hidden
 */
export declare class DataLegendView extends Base {
    static $t: Type;
    constructor(a: XamDataLegend);
    av(): void;
    ad: List$1<TextBlock>;
    af: List$1<TextBlock>;
    ah: List$1<TextBlock>;
    ag: List$1<TextBlock>;
    ae: List$1<ContentControl>;
    q: Pool$1<TextBlock>;
    s: Pool$1<TextBlock>;
    u: Pool$1<TextBlock>;
    t: Pool$1<TextBlock>;
    r: Pool$1<ContentControl>;
    bp(): TextBlock;
    be(a: TextBlock): void;
    bg(a: TextBlock): void;
    bf(a: TextBlock): void;
    br(): TextBlock;
    bk(a: TextBlock): void;
    bm(a: TextBlock): void;
    bl(a: TextBlock): void;
    bq(): TextBlock;
    bh(a: TextBlock): void;
    bj(a: TextBlock): void;
    bi(a: TextBlock): void;
    bo(): TextBlock;
    az(a: TextBlock): void;
    a1(a: TextBlock): void;
    a0(a: TextBlock): void;
    bn(): ContentControl;
    a2(a: ContentControl): void;
    a4(a: ContentControl): void;
    a3(a: ContentControl): void;
    a: XamDataLegend;
    ay(): void;
    a7(): void;
    private am;
    al: DomRenderer;
    v: RenderingContext;
    private b;
    private ap;
    private ai;
    get z(): boolean;
    a6(a: any, b: boolean): void;
    private ax;
    private aw;
    private ba;
    private y;
    bb(a: RenderingContext, b: number): void;
    private ao;
    private an;
    aa(): boolean;
    bz(a: string, b: FontInfo): Size;
    private ab;
    private ak;
    private x;
    private ac;
    private aj;
    bc(a: FrameworkElement, b: number, c: number): void;
    au(a: DataLegendContent): void;
    as(a: TextBlock, b: FontInfo): void;
    by(): Brush;
    bw(): Brush;
    bx(): Brush;
    bu(): Brush;
    bv(): Brush;
    bt(): Brush;
    bs(): Brush;
    private g;
    n(): FontInfo;
    private i;
    p(): FontInfo;
    private h;
    o(): FontInfo;
    private e;
    l(): FontInfo;
    private f;
    m(): FontInfo;
    private d;
    k(): FontInfo;
    private c;
    j(): FontInfo;
    w: (arg1: number, arg2: number) => void;
    aq(a: number, b: number): void;
    a9(a: number): void;
    a5(): void;
    a8(): void;
    at(a: TextBlock, b: FontInfo): void;
    bd(): void;
    ar(): void;
}
