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 { DataLegendLayoutMode } from "igniteui-react-core";
import { BindingFormatter } from "igniteui-react-core";
import { DataLegendVisualData } from "./DataLegendVisualData";
import { TextBlock } from "igniteui-react-core";
import { FrameworkElement } from "igniteui-react-core";
import { DataLegendSummaryEventArgs } from "./DataLegendSummaryEventArgs";
import { DataLegendStylingRowEventArgs } from "./DataLegendStylingRowEventArgs";
import { DataLegendStylingColumnEventArgs } from "./DataLegendStylingColumnEventArgs";
import { IDataLegendSeries } from "igniteui-react-core";
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: 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);
    isEmbeddedInDataTooltip: boolean;
    includedSeries: string[];
    excludedSeries: string[];
    includedColumns: string[];
    excludedColumns: string[];
    b9: boolean;
    b1: boolean;
    an: DataAbbreviationMode;
    cy: number;
    cz: number;
    a5: DataLegendValueMode;
    e8: string;
    fa: string;
    ca: boolean;
    fg: string;
    ah: any[];
    jf: Thickness;
    cb: boolean;
    fp: string;
    cc: boolean;
    jg: Thickness;
    ix: Brush;
    private bm;
    get bx(): FontInfo;
    set bx(a: FontInfo);
    dm: string;
    ag: any[];
    di: string;
    ap: DataLegendHeaderDateMode;
    aq: DataLegendHeaderTimeMode;
    ds: string;
    io: Brush;
    i8: Thickness;
    i7: Thickness;
    b5: boolean;
    private be;
    get bp(): FontInfo;
    set bp(a: FontInfo);
    b3: boolean;
    im: Brush;
    i6: Thickness;
    i5: Thickness;
    private bd;
    get bo(): FontInfo;
    set bo(a: FontInfo);
    is: Brush;
    private bh;
    get bs(): FontInfo;
    set bs(a: FontInfo);
    a3: DataLegendSummaryType;
    ej: string;
    jb: Thickness;
    ja: Thickness;
    iu: Brush;
    private bj;
    get bu(): FontInfo;
    set bu(a: FontInfo);
    ee: string;
    ir: Brush;
    private bg;
    get br(): FontInfo;
    set br(a: FontInfo);
    ep: string;
    it: Brush;
    private bi;
    get bt(): FontInfo;
    set bt(a: FontInfo);
    i4: Thickness;
    ba: LegendItemBadgeShape;
    targetCursorPositionX: number;
    targetCursorPositionY: number;
    a9: IDataLegendTarget;
    target: any;
    a4: DataLegendUnitsMode;
    e2: string;
    iw: Brush;
    jd: Thickness;
    private bl;
    get bw(): FontInfo;
    set bw(a: FontInfo);
    jc: Thickness;
    iv: Brush;
    private bk;
    get bv(): FontInfo;
    set bv(a: FontInfo);
    ar: DataLegendLabelMode;
    ip: Brush;
    i9: Thickness;
    private b7;
    private bf;
    get bq(): FontInfo;
    set bq(a: FontInfo);
    private cp;
    get pixelScalingRatio(): number;
    set pixelScalingRatio(a: number);
    as: DataLegendLayoutMode;
    exportSerializedVisualData(): string;
    cu(a: number, b: Rect): number;
    ct(a: number, b: Rect): number;
    iy(a: Rect, b: Rect): Rect;
    exportVisualData(): DataLegendVisualData;
    private gl;
    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 gq;
    private gp;
    private go;
    private gn;
    private a0;
    private gm;
    private az;
    private gr;
    propertyChanged: (sender: any, e: PropertyChangedEventArgs) => void;
    protected ge(a: string, b: any, c: any): void;
    private gb;
    private gc;
    private ce;
    private cd;
    private ch;
    private cg;
    private gv;
    private gu;
    private fs;
    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;
    iz: 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;
    gg(): void;
    private bz;
    get shouldOnDemandRender(): boolean;
    set shouldOnDemandRender(a: boolean);
    doRender(a: RenderingContext, b: number): void;
    ensureUpdated(): void;
    private f1;
    getDesiredSize(): Size;
    private cl;
    private gt;
    private cf;
    private f2;
    private cx;
    f0(): void;
    private f6;
    private gh;
    private gj;
    private gk;
    private gi;
    private ao;
    private cw;
    private b2;
    private f5;
    private f4;
    private b8;
    private fx;
    private i2;
    private i3;
    private i0;
    private f7;
    private eb;
    private d9;
    private fv;
    private am;
    cv(a: number, b: DataAbbreviationMode, c: number, d: number): number;
    dc(a: number, b: DataAbbreviationMode, c: number, d: number): string;
    db(a: number, b: DataAbbreviationMode, c: number, d: number): string;
    private cj;
    private ck;
    private fw;
    private iq;
    private ea;
    ak: BindingFormatter;
    al: BindingFormatter;
    private ec;
    private fu;
    private c1;
    private bb;
    private gs;
    private b4;
    private gw;
    private c2;
    private fr;
    private ft;
    private je;
    private gd;
    private d8;
    private d6;
    ai: BindingFormatter;
    aj: BindingFormatter;
    private d7;
    private fy;
    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;
}
