import { Base, Type, INotifyPropertyChanged, PropertyChangedEventArgs } from "igniteui-angular-core";
import { DomWrapper, DomRenderer, NormalizedEvent } from "igniteui-angular-core";
import { Dictionary$2 } from "igniteui-angular-core";
import { RenderingContext } from "igniteui-angular-core";
import { ContentControl } from "igniteui-angular-core";
import { ILegendContext } from "igniteui-angular-core";
import { Size } from "igniteui-angular-core";
import { Polygon } from "igniteui-angular-core";
import { GradientData } from "./GradientData";
import { Rect } from "igniteui-angular-core";
import { List$1 } from "igniteui-angular-core";
import { IChartLegend } from "igniteui-angular-core";
import { ObservableCollection$1 } from "igniteui-angular-core";
import { UIElement } from "igniteui-angular-core";
import { ILegendOwner } from "igniteui-angular-core";
import { ILegendSeries } from "igniteui-angular-core";
import { PropertyUpdatedEventArgs } from "igniteui-angular-core";
import { LegendMouseButtonEventArgs } from "./LegendMouseButtonEventArgs";
import { LegendMouseEventArgs } from "./LegendMouseEventArgs";
import { LegendVisualData } from "./LegendVisualData";
import { RectData } from "igniteui-angular-core";
import { ColorData } from "igniteui-angular-core";
/**
 * @hidden
 */
export declare class LegendBaseViewManager extends Base {
    static $t: Type;
    private a;
    constructor(a: LegendBaseView);
    p(): void;
    u(): void;
    s(): void;
    t(a: any): void;
    protected i(): DomWrapper;
    l: DomWrapper;
    g: DomRenderer;
    protected d: boolean;
    protected h(): DomWrapper;
    j(a: any): DomWrapper;
    protected k(a: any, b: DomWrapper): DomWrapper;
    protected f: Dictionary$2<any, DomWrapper>;
    o(a: any, b: number): void;
    w(a: number): void;
    x(a: any): void;
    n(visual_: any): any;
    e(a: ILegendContext): boolean;
    protected m: DomWrapper;
    protected c: RenderingContext;
    b(a: any): RenderingContext;
    ab(): Size;
    y(a: RenderingContext, b: Polygon, c: GradientData, d: Rect): void;
    q(): void;
    r(): void;
    v(a: boolean): void;
    z(a: string): void;
    aa(a: string): void;
}
/**
 * @hidden
 */
export declare abstract class LegendBase extends ContentControl implements INotifyPropertyChanged, IChartLegend {
    static $t: Type;
    onDetachedFromUI(): void;
    onAttachedToUI(): void;
    aj(): LegendBaseView;
    a8(a: LegendBaseView): void;
    ak: LegendBaseView;
    constructor();
    addChildInOrder(a: UIElement, b: ILegendSeries): void;
    a0(a: List$1<UIElement>, b: ILegendSeries): void;
    at: ObservableCollection$1<UIElement>;
    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 a9(a: string, b: any, c: any): void;
    legendItemMouseLeftButtonDown: (sender: any, e: LegendMouseButtonEventArgs) => void;
    a5(a: LegendMouseButtonEventArgs): void;
    legendItemMouseLeftButtonUp: (sender: any, e: LegendMouseButtonEventArgs) => void;
    a6(a: LegendMouseButtonEventArgs): void;
    legendItemMouseEnter: (sender: any, e: LegendMouseEventArgs) => void;
    a3(a: LegendMouseEventArgs): void;
    legendItemMouseLeave: (sender: any, e: LegendMouseEventArgs) => void;
    a4(a: LegendMouseEventArgs): void;
    legendItemMouseMove: (sender: any, e: LegendMouseEventArgs) => void;
    a7(a: LegendMouseEventArgs): void;
    provideContainer(a: any): void;
    get aw(): string;
    set aw(a: string);
    get ax(): string;
    set ax(a: string);
    get av(): string;
    set av(a: string);
    get ay(): string;
    set ay(a: string);
    exportVisualData(): LegendVisualData;
    exportSerializedVisualData(): string;
    protected get_isFinancial(): boolean;
    get isFinancial(): boolean;
}
/**
 * @hidden
 */
export declare class LegendBaseView extends Base {
    static $t: Type;
    constructor(a: LegendBase);
    aj(): void;
    ah(): void;
    c: LegendBaseViewManager;
    b: LegendBase;
    ak(): void;
    protected get_j(): boolean;
    get j(): boolean;
    protected d(a: any): LegendMouseButtonEventArgs;
    protected e(a: any): LegendMouseEventArgs;
    aa(a: any, b: ILegendOwner, c: ILegendSeries, d: any): {
        p1: ILegendOwner;
        p2: ILegendSeries;
        p3: any;
    };
    z(): void;
    m(): boolean;
    y(a: UIElement): void;
    am(a: UIElement): void;
    ai(a: any): void;
    an(a: any): void;
    x(a: any): void;
    af(): void;
    ag(): void;
    s: string;
    t: string;
    r: string;
    u: string;
    private l;
    private i;
    get k(): boolean;
    set k(a: boolean);
    private p;
    get v(): string;
    set v(a: string);
    private q;
    get w(): string;
    set w(a: string);
    al(): void;
    private n;
    private o;
    ad(a: NormalizedEvent): void;
    ac(a: NormalizedEvent): void;
    ab(a: NormalizedEvent): void;
    ae(a: NormalizedEvent): void;
    h(a: DomWrapper): RectData;
    g(a: DomWrapper): RectData;
    a(a: number): ColorData;
    f(): LegendVisualData;
}
