import { Base, Type, INotifyPropertyChanged, PropertyChangedEventArgs, Point } from "igniteui-react-core";
import { List$1 } from "igniteui-react-core";
import { DataAbbreviationMode } from "igniteui-react-core";
import { Brush } from "igniteui-react-core";
import { FontInfo } from "igniteui-react-core";
import { Thickness } from "igniteui-react-core";
import { Size } from "igniteui-react-core";
import { Rect } from "igniteui-react-core";
import { DataLegendSeriesContext } from "igniteui-react-core";
import { DataTemplate } from "igniteui-react-core";
import { LegendItemBadgeShape } from "igniteui-react-core";
import { Control } from "igniteui-react-core";
import { IDataLegend } from "igniteui-react-core";
import { IOnDemandRender } from "igniteui-react-core";
import { DataLegendValueMode } from "igniteui-react-core";
import { DataLegendHeaderDateMode } from "igniteui-react-core";
import { DataLegendHeaderTimeMode } from "igniteui-react-core";
import { DataLegendSummaryType } from "igniteui-react-core";
import { IDataLegendTarget } from "igniteui-react-core";
import { DataLegendUnitsMode } from "igniteui-react-core";
import { DataLegendLabelMode } from "igniteui-react-core";
import { BindingFormatter } from "igniteui-react-core";
import { DataLegendVisualData } from "./DataLegendVisualData";
import { TextBlock } from "igniteui-react-core";
import { IDataLegendSeries } from "igniteui-react-core";
import { FrameworkElement } from "igniteui-react-core";
import { DataLegendSummaryEventArgs } from "./DataLegendSummaryEventArgs";
import { DataLegendStylingRowEventArgs } from "./DataLegendStylingRowEventArgs";
import { DataLegendStylingColumnEventArgs } from "./DataLegendStylingColumnEventArgs";
import { RenderingContext } from "igniteui-react-core";
import { Pool$1 } from "igniteui-react-core";
import { ContentControl } from "igniteui-react-core";
import { DomRenderer } from "igniteui-react-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;
    w: string;
    v: string;
    t: string;
    x: string;
    u: string;
    z: Brush;
    aa: Brush;
    ab: Brush;
    g: FontInfo;
    i: FontInfo;
    h: FontInfo;
    al: Thickness;
    an: Thickness;
    am: Thickness;
    ag: Size;
    ak: Size;
    ai: Size;
    m: boolean;
    j: boolean;
    ac: Rect;
    ae: Rect;
    ad: Rect;
    af: Size;
    aj: Size;
    ah: Size;
    k(): boolean;
    n(): boolean;
    p(): boolean;
    l(): boolean;
    o(): boolean;
    q(): boolean;
    y(): 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 ci;
    protected get cm(): number;
    protected set cm(a: number);
    private cj;
    protected get cn(): number;
    protected set cn(a: number);
    private ck;
    get co(): number;
    set co(a: number);
    includedSeries: string[];
    excludedSeries: string[];
    includedColumns: string[];
    excludedColumns: string[];
    b3: boolean;
    bx: boolean;
    an: DataAbbreviationMode;
    cu: number;
    cv: number;
    a3: DataLegendValueMode;
    ey: string;
    e0: string;
    b4: boolean;
    e6: string;
    ah: any[];
    is: Thickness;
    b5: boolean;
    ff: string;
    b6: boolean;
    it: Thickness;
    ia: Brush;
    private bj;
    get bt(): FontInfo;
    set bt(a: FontInfo);
    dd: string;
    ag: any[];
    c9: string;
    ap: DataLegendHeaderDateMode;
    aq: DataLegendHeaderTimeMode;
    di: string;
    h1: Brush;
    ik: Thickness;
    ij: Thickness;
    b0: boolean;
    private bb;
    get bl(): FontInfo;
    set bl(a: FontInfo);
    h5: Brush;
    private be;
    get bo(): FontInfo;
    set bo(a: FontInfo);
    a1: DataLegendSummaryType;
    d9: string;
    io: Thickness;
    im: Thickness;
    h7: Brush;
    private bg;
    get bq(): FontInfo;
    set bq(a: FontInfo);
    d4: string;
    h4: Brush;
    private bd;
    get bn(): FontInfo;
    set bn(a: FontInfo);
    ef: string;
    h6: Brush;
    private bf;
    get bp(): FontInfo;
    set bp(a: FontInfo);
    ii: Thickness;
    a8: LegendItemBadgeShape;
    targetCursorPositionX: number;
    targetCursorPositionY: number;
    a7: IDataLegendTarget;
    target: any;
    a2: DataLegendUnitsMode;
    es: string;
    h9: Brush;
    iq: Thickness;
    private bi;
    get bs(): FontInfo;
    set bs(a: FontInfo);
    ip: Thickness;
    h8: Brush;
    private bh;
    get br(): FontInfo;
    set br(a: FontInfo);
    ar: DataLegendLabelMode;
    h2: Brush;
    il: Thickness;
    private bc;
    get bm(): FontInfo;
    set bm(a: FontInfo);
    private cl;
    get pixelScalingRatio(): number;
    set pixelScalingRatio(a: number);
    exportSerializedVisualData(): string;
    cq(a: number, b: Rect): number;
    cp(a: number, b: Rect): number;
    ib(a: Rect, b: Rect): Rect;
    exportVisualData(): DataLegendVisualData;
    private f8;
    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 gc;
    private gb;
    private ga;
    private ay;
    private f9;
    private ax;
    private gd;
    propertyChanged: (sender: any, e: PropertyChangedEventArgs) => void;
    protected f1(a: string, b: any, c: any): void;
    private fy;
    private fz;
    private b9;
    private b8;
    private cb;
    private ca;
    private gh;
    private gg;
    private fh;
    private cc;
    private b1;
    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;
    ic: 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 bu;
    f3(): void;
    private bv;
    get shouldOnDemandRender(): boolean;
    set shouldOnDemandRender(a: boolean);
    doRender(a: RenderingContext, b: number): void;
    ensureUpdated(): void;
    private fq;
    getDesiredSize(): Size;
    private gf;
    private cg;
    private ct;
    fp(): void;
    private ft;
    private f4;
    private f6;
    private f7;
    private f5;
    private ao;
    private cd;
    private ce;
    private b7;
    private cs;
    private by;
    private fs;
    private b2;
    private fm;
    private ig;
    private ih;
    private id;
    private fu;
    private d1;
    private dy;
    private fk;
    private am;
    cr(a: number, b: DataAbbreviationMode, c: number, d: number): number;
    c8(a: number, b: DataAbbreviationMode, c: number, d: number): string;
    c7(a: number, b: DataAbbreviationMode, c: number, d: number): string;
    private cf;
    private ch;
    private fl;
    private h3;
    private dz;
    ak: BindingFormatter;
    al: BindingFormatter;
    private d2;
    private fj;
    private cx;
    private a9;
    private ge;
    private bz;
    private gi;
    private d0;
    private cy;
    private fi;
    private ir;
    private f0;
    private dx;
    private dv;
    ai: BindingFormatter;
    aj: BindingFormatter;
    private dw;
    private fn;
    static $$p: string[];
}
/**
 * @hidden
 */
export declare class DataLegendView extends Base {
    static $t: Type;
    constructor(a: XamDataLegend);
    at(): void;
    ab: List$1<TextBlock>;
    ad: List$1<TextBlock>;
    af: List$1<TextBlock>;
    ae: List$1<TextBlock>;
    ac: List$1<ContentControl>;
    o: Pool$1<TextBlock>;
    q: Pool$1<TextBlock>;
    s: Pool$1<TextBlock>;
    r: Pool$1<TextBlock>;
    p: Pool$1<ContentControl>;
    bn(): TextBlock;
    bc(a: TextBlock): void;
    be(a: TextBlock): void;
    bd(a: TextBlock): void;
    bp(): TextBlock;
    bi(a: TextBlock): void;
    bk(a: TextBlock): void;
    bj(a: TextBlock): void;
    bo(): TextBlock;
    bf(a: TextBlock): void;
    bh(a: TextBlock): void;
    bg(a: TextBlock): void;
    bm(): TextBlock;
    ax(a: TextBlock): void;
    az(a: TextBlock): void;
    ay(a: TextBlock): void;
    bl(): ContentControl;
    a0(a: ContentControl): void;
    a2(a: ContentControl): void;
    a1(a: ContentControl): void;
    a: XamDataLegend;
    aw(): void;
    a5(): void;
    private ak;
    aj: DomRenderer;
    t: RenderingContext;
    private b;
    private an;
    private ag;
    get x(): boolean;
    a4(a: any, b: boolean): void;
    private av;
    private au;
    private a8;
    private w;
    a9(a: RenderingContext, b: number): void;
    private am;
    private al;
    y(): boolean;
    bw(a: string, b: FontInfo): Size;
    private z;
    private ai;
    private v;
    private aa;
    private ah;
    ba(a: FrameworkElement, b: number, c: number): void;
    as(a: DataLegendContent): void;
    aq(a: TextBlock, b: FontInfo): void;
    bv(): Brush;
    bt(): Brush;
    bu(): Brush;
    br(): Brush;
    bs(): Brush;
    bq(): 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;
    ao(a: number, b: number): void;
    a7(a: number): void;
    a3(): void;
    a6(): void;
    ar(a: TextBlock, b: FontInfo): void;
    bb(): void;
    ap(): void;
}
