import { Base, Point, Type, INotifyPropertyChanged, PropertyChangedEventArgs } from "igniteui-react-core";
import { DomWrapper, DomRenderer, NormalizedEvent } from "igniteui-react-core";
import { Dictionary$2 } from "igniteui-react-core";
import { RenderingContext } from "igniteui-react-core";
import { ContentControl } from "igniteui-react-core";
import { ILegendContext } from "igniteui-react-core";
import { Size } from "igniteui-react-core";
import { Polygon } from "igniteui-react-core";
import { GradientData } from "./GradientData";
import { Rect } from "igniteui-react-core";
import { List$1 } from "igniteui-react-core";
import { IChartLegend } from "igniteui-react-core";
import { ObservableCollection$1 } from "igniteui-react-core";
import { UIElement } from "igniteui-react-core";
import { LegendItemInfo } from "./LegendItemInfo";
import { ILegendOwner } from "igniteui-react-core";
import { ILegendSeries } from "igniteui-react-core";
import { PropertyUpdatedEventArgs } from "igniteui-react-core";
import { LegendMouseButtonEventArgs } from "./LegendMouseButtonEventArgs";
import { LegendMouseEventArgs } from "./LegendMouseEventArgs";
import { LegendTextContentChangedEventArgs } from "./LegendTextContentChangedEventArgs";
import { LegendVisualData } from "./LegendVisualData";
import { RectData } from "igniteui-react-core";
import { ColorData } from "igniteui-react-core";
/**
 * @hidden
 */
export declare class LegendBaseViewManager extends Base {
    static $t: Type;
    private a;
    constructor(a: LegendBaseView);
    private e;
    t(): void;
    y(): void;
    w(): void;
    x(a: any): void;
    protected k(): DomWrapper;
    n: DomWrapper;
    i: DomRenderer;
    protected d: boolean;
    protected j(): DomWrapper;
    l(a: any): DomWrapper;
    protected m(a: any, b: DomWrapper): DomWrapper;
    protected h: Dictionary$2<any, DomWrapper>;
    s(a: any, b: number): void;
    aa(a: number): void;
    ab(a: any): void;
    r(visual_: any): any;
    g(a: ILegendContext): boolean;
    protected o: DomWrapper;
    protected c: RenderingContext;
    b(a: any): RenderingContext;
    aj(): Size;
    ac(a: RenderingContext, b: Polygon, c: GradientData, d: Rect): void;
    u(): void;
    v(): void;
    q(a: Point): any;
    private ai;
    private f;
    private p;
    ae(a: Point): void;
    ad(a: Point): void;
    af(): void;
    z(a: boolean): void;
    ag(a: string): void;
    ah(a: string): void;
}
/**
 * @hidden
 */
export declare abstract class LegendBase extends ContentControl implements INotifyPropertyChanged, IChartLegend {
    static $t: Type;
    onDetachedFromUI(): void;
    onAttachedToUI(): void;
    aj(): LegendBaseView;
    bd(a: LegendBaseView): void;
    ak: LegendBaseView;
    constructor();
    private at;
    addChildInOrder(a: UIElement, b: ILegendSeries): void;
    a5(a: List$1<UIElement>, b: ILegendSeries): void;
    aw: ObservableCollection$1<UIElement>;
    ax: ObservableCollection$1<LegendItemInfo>;
    private av;
    private _seriesOwner;
    get seriesOwner(): ILegendOwner;
    set seriesOwner(a: ILegendOwner);
    private _chartOwner;
    get chartOwner(): ILegendOwner;
    set chartOwner(a: ILegendOwner);
    protected get_isItemwise(): boolean;
    get isItemwise(): boolean;
    protected get_isScale(): boolean;
    get isScale(): boolean;
    clearLegendItemsForSeries(a: ILegendSeries): void;
    containsChild(a: UIElement): boolean;
    removeChild(a: UIElement): void;
    get ai(): ILegendOwner;
    propertyChanged: (sender: any, e: PropertyChangedEventArgs) => void;
    propertyUpdated: (sender: any, e: PropertyUpdatedEventArgs) => void;
    protected be(a: string, b: any, c: any): void;
    legendItemMouseLeftButtonDown: (sender: any, e: LegendMouseButtonEventArgs) => void;
    ba(a: LegendMouseButtonEventArgs): void;
    legendItemMouseLeftButtonUp: (sender: any, e: LegendMouseButtonEventArgs) => void;
    bb(a: LegendMouseButtonEventArgs): void;
    legendItemMouseEnter: (sender: any, e: LegendMouseEventArgs) => void;
    a8(a: LegendMouseEventArgs): void;
    legendItemMouseLeave: (sender: any, e: LegendMouseEventArgs) => void;
    a9(a: LegendMouseEventArgs): void;
    legendItemMouseMove: (sender: any, e: LegendMouseEventArgs) => void;
    bc(a: LegendMouseEventArgs): void;
    legendTextContentChanged: (sender: any, e: LegendTextContentChangedEventArgs) => void;
    flushTextContentChangedCheck(): void;
    private a4;
    provideContainer(a: any): void;
    get a0(): string;
    set a0(a: string);
    get a1(): string;
    set a1(a: string);
    get az(): string;
    set az(a: string);
    get a2(): string;
    set a2(a: string);
    exportVisualData(): LegendVisualData;
    exportSerializedVisualData(): string;
    protected get_isFinancial(): boolean;
    get isFinancial(): boolean;
    bh(a: Point): void;
    bg(a: Point): void;
    bi(): void;
}
/**
 * @hidden
 */
export declare class LegendBaseView extends Base {
    static $t: Type;
    constructor(a: LegendBase);
    ak(): void;
    ai(): void;
    d: LegendBaseViewManager;
    c: LegendBase;
    al(): void;
    protected get_k(): boolean;
    get k(): boolean;
    e(a: any): LegendMouseButtonEventArgs;
    f(a: any): LegendMouseEventArgs;
    ab(a: any, b: ILegendOwner, c: ILegendSeries, d: any): {
        p1: ILegendOwner;
        p2: ILegendSeries;
        p3: any;
    };
    aa(): void;
    n(): boolean;
    z(a: UIElement): void;
    an(a: UIElement): void;
    aj(a: any): void;
    ao(a: any): void;
    y(a: any): void;
    ag(): void;
    ah(): void;
    t: string;
    u: string;
    s: string;
    v: string;
    private m;
    private j;
    get l(): boolean;
    set l(a: boolean);
    private q;
    get w(): string;
    set w(a: string);
    private r;
    get x(): string;
    set x(a: string);
    am(): void;
    private o;
    private p;
    ae(a: NormalizedEvent): void;
    ad(a: NormalizedEvent): void;
    ac(a: NormalizedEvent): void;
    af(a: NormalizedEvent): void;
    i(a: DomWrapper): RectData;
    h(a: DomWrapper): RectData;
    a(a: number): ColorData;
    b(a: number): ColorData;
    g(): LegendVisualData;
    aq(a: Point): void;
    ap(a: Point): void;
    ar(): void;
}
