import { PieChartBase } from "./PieChartBase";
import { DependencyProperty } from "igniteui-react-core/ES5/DependencyProperty";
import { PieChartBaseView } from "./PieChartBaseView";
import { Type, Base, IEnumerable, INotifyPropertyChanged, Point, PropertyChangedEventArgs, DomRenderer } from "igniteui-react-core/ES5/type";
import { Control } from "igniteui-react-core/ES5/Control";
import { SliceClickEventArgs } from "./SliceClickEventArgs";
import { Slice } from "./Slice";
import { List$1 } from "igniteui-react-core/ES5/List$1";
import { NotifyCollectionChangedEventArgs } from "igniteui-react-core/ES5/NotifyCollectionChangedEventArgs";
import { Pool$1 } from "igniteui-react-core/ES5/Pool$1";
import { FastItemsSource } from "igniteui-react-core/ES5/FastItemsSource";
import { IChartLegend } from "igniteui-react-core/ES5/IChartLegend";
import { Brush } from "igniteui-react-core/ES5/Brush";
import { Visibility } from "igniteui-react-core/ES5/Visibility";
import { OthersCategoryType } from "./OthersCategoryType";
import { BrushCollection } from "igniteui-react-core/ES5/BrushCollection";
import { ILegendSeries } from "igniteui-react-core/ES5/ILegendSeries";
import { ILegendTemplateProvider } from "igniteui-react-core/ES5/ILegendTemplateProvider";
import { LabelsPosition } from "./LabelsPosition";
import { Style } from "igniteui-react-core/ES5/Style";
import { LeaderLineType } from "./LeaderLineType";
import { DataTemplate } from "igniteui-react-core/ES5/DataTemplate";
import { Canvas } from "igniteui-react-core/ES5/Canvas";
import { ILegendOwner } from "igniteui-react-core/ES5/ILegendOwner";
import { PropertyUpdatedEventArgs } from "igniteui-react-core/ES5/PropertyUpdatedEventArgs";
import { FastItemsSourceEventArgs } from "igniteui-react-core/ES5/FastItemsSourceEventArgs";
import { FastItemsSourceEventAction } from "igniteui-react-core/ES5/FastItemsSourceEventAction";
import { Size } from "igniteui-react-core/ES5/Size";
import { ObservableCollection$1 } from "igniteui-react-core/ES5/ObservableCollection$1";
import { Rect } from "igniteui-react-core/ES5/Rect";
import { HoleDimensionsChangedEventArgs } from "./HoleDimensionsChangedEventArgs";
import { DoughnutChartVisualData } from "./DoughnutChartVisualData";
import { FontInfo } from "igniteui-react-core/ES5/FontInfo";
/**
 * @hidden
 */
export declare class Arc extends PieChartBase {
    static $t: Type;
    ar(): PieChartBaseView;
    e4(a: PieChartBaseView): void;
    ha: ArcView;
    constructor();
    private hb;
    hc: Ring;
    g9: ArcItem;
    hg: number;
    he: number;
    readonly hf: number;
    e3(a: any, b: SliceClickEventArgs): void;
    ek(a: Slice, b: boolean): void;
    fi(a: Slice, b: boolean): void;
    hd(a: Slice): SliceItem;
    protected fh(a: NotifyCollectionChangedEventArgs): void;
    e7(): void;
    fe(): void;
    protected e8(a: any, b: string, c: any, d: any): void;
    hh(): any;
    static $$p: string[];
}
/**
 * @hidden
 */
export declare class ArcItem extends Base {
    static $t: Type;
    constructor();
    d: Ring;
    b: ArcItem;
    n: string;
    l: number;
    m: number;
    k: number;
    i: number;
    j: number;
    c: OthersCategoryType;
    a: BrushCollection;
    g: List$1<SliceItem>;
    e: SliceItem;
    h: IEnumerable;
    o(a: number, b: number): void;
    private f;
    p(a: number): void;
    q(a: Arc): void;
}
/**
 * @hidden
 */
export declare abstract class RingSeriesBase extends Control implements INotifyPropertyChanged, ILegendSeries, ILegendTemplateProvider {
    static $t: Type;
    private readonly ao;
    constructor();
    at: XamDoughnutChart;
    itemsSource: IEnumerable;
    b7: string;
    bf: string;
    bp: string;
    propertyChanged: (sender: any, e: PropertyChangedEventArgs) => void;
    propertyUpdated: (sender: any, e: PropertyUpdatedEventArgs) => void;
    protected cl(a: string, b: any, c: any): void;
    aj: LabelsPosition;
    dq: Visibility;
    dk: Style;
    ak: LeaderLineType;
    a1: number;
    toolTip: any;
    a2: number;
    al: OthersCategoryType;
    bt: string;
    legend: IChartLegend;
    am: (obj: any) => string;
    an: (obj: any) => string;
    a0: number;
    a4: number;
    dl: Style;
    dm: Style;
    dn: Style;
    dp: Style;
    ag: BrushCollection;
    ah: BrushCollection;
    private a7;
    b3: string;
    legendItemTemplate: DataTemplate;
    legendItemBadgeTemplate: DataTemplate;
    static readonly cz: DependencyProperty;
    cp: DataTemplate;
    private aw;
    ax: boolean;
    static readonly cu: DependencyProperty;
    readonly ay: boolean;
    a3: number;
    protected av: boolean;
    protected a5: (sender: any, e: FastItemsSourceEventArgs) => void;
    au: FastItemsSource;
    dj: Point;
    as: RingSeriesBaseView;
    protected cj(a: any, b: string, c: any, d: any): void;
    co: Canvas;
    readonly container: ILegendOwner;
    readonly isStacked: boolean;
    readonly isVertical: boolean;
    readonly isUsableInLegend: boolean;
    readonly hasMarkers: boolean;
    readonly hasSubItems: boolean;
    protected ca(a: FastItemsSourceEventAction, b: number, c: number, d: string): void;
    ar(): RingSeriesBaseView;
    cg(a: RingSeriesBaseView): void;
    abstract aq(): RingCollection;
    abstract ci(): void;
    abstract ch(): void;
    ck(a: any): void;
    b9(): void;
    abstract cn(): void;
    abstract cm(): void;
    cd(a: number, b: any): void;
    cf(a: number, b: any, c: any): void;
    cc(): void;
    ce(a: number, b: any): void;
    private cb;
    resolveLegendIndex(): number;
    forSubItems(a: (arg1: any) => void): void;
    static $$p: string[];
}
/**
 * @hidden
 */
export declare class Ring extends Base {
    static $t: Type;
    constructor();
    j: number;
    h: number;
    q: Size;
    p: Point;
    private _ringControl;
    ringControl: RingControl;
    private b;
    c: RingSeriesBase;
    i: number;
    g: List$1<ArcItem>;
    d: XamDoughnutChart;
    e: boolean;
    f(): boolean;
    o(): void;
    l(source_: any, a: number, b: any): void;
    k(source_: any): void;
    m(source_: any, a: number, b: any): void;
    n(source_: any, a: number, b: any, c: any): void;
}
/**
 * @hidden
 */
export declare class RingCollection extends ObservableCollection$1<Ring> {
    static $t: Type;
    constructor();
    protected p(): void;
    protected u(a: number): void;
}
/**
 * @hidden
 */
export declare class RingControl extends Control implements INotifyPropertyChanged {
    static $t: Type;
    constructor();
    readonly al: RingSeriesBase;
    ak: RingControlView;
    private ah;
    ai: Ring;
    arcs: Pool$1<Arc>;
    ao: List$1<ArcItem>;
    a0: Canvas;
    aj(): RingControlView;
    ax(a: RingControlView): void;
    propertyChanged: (sender: any, e: PropertyChangedEventArgs) => void;
    propertyUpdated: (sender: any, e: PropertyUpdatedEventArgs) => void;
    protected az(a: string, b: any, c: any): void;
    aw(): void;
    an(): boolean;
    ay(a: any): void;
    av(): void;
    ap(): DomRenderer;
    as(source_: any, a: number, b: any): void;
    ar(source_: any): void;
    at(source_: any, a: number, b: any): void;
    au(source_: any, a: number, b: any, c: any): void;
}
/**
 * @hidden
 */
export declare class RingSeriesCollection extends ObservableCollection$1<RingSeriesBase> {
    static $t: Type;
    constructor();
}
/**
 * @hidden
 */
export declare class SliceItem extends Base {
    static $t: Type;
    constructor();
    e: number;
    d: number;
    a: ArcItem;
    f: number;
    b: Slice;
    g: any;
    c: boolean;
}
/**
 * @hidden
 */
export declare class SliceCollection extends ObservableCollection$1<SliceItem> {
    static $t: Type;
    constructor();
    ae: boolean;
    ag: boolean;
    protected r(a: number, b: SliceItem): void;
    protected x(a: number, b: SliceItem): void;
    protected u(a: number): void;
    remove(a: SliceItem): boolean;
    protected p(): void;
    private ah;
}
/**
 * @hidden
 */
export declare class XamDoughnutChart extends Control implements INotifyPropertyChanged, ILegendOwner {
    static $t: Type;
    private al;
    private aj;
    private ap;
    private ao;
    private readonly ah;
    constructor();
    readonly ak: RingCollection;
    aw: boolean;
    ax: boolean;
    av: boolean;
    readonly series: RingSeriesCollection;
    private b4;
    static readonly ca: DependencyProperty;
    a3: number;
    ar: SliceCollection;
    aq: SliceCollection;
    ce: Style;
    a5: any;
    b5: DataTemplate;
    private a0;
    a4: number;
    private az;
    a1: number;
    au: XamDoughnutChartView;
    destroy(): void;
    b3(a: SliceItem, b: boolean): void;
    bj(a: SliceItem, b: boolean): void;
    protected bx(a: any, b: string, c: any, d: any): void;
    at(): XamDoughnutChartView;
    bt(a: XamDoughnutChartView): void;
    b0(): void;
    b2(): void;
    bu(): void;
    b1(): void;
    bw(): void;
    bv(): void;
    br(): void;
    sliceClick: (sender: any, e: SliceClickEventArgs) => void;
    bs(a: any, b: SliceClickEventArgs): void;
    propertyChanged: (sender: any, e: PropertyChangedEventArgs) => void;
    propertyUpdated: (sender: any, e: PropertyUpdatedEventArgs) => void;
    protected bz(a: string, b: any, c: any): void;
    provideContainer(a: any): void;
    notifyResized(): void;
    bd(): string;
    cd(): Point;
    a2(): number;
    bk(): void;
    holeDimensionsChanged: (sender: any, e: HoleDimensionsChangedEventArgs) => void;
    bq(): void;
    as(): DoughnutChartVisualData;
    bc(): string;
    private _ay;
    private ay;
    bm(source_: any, a: number, b: any): void;
    bp(source_: any, a: number, b: any, c: any): void;
    bl(source_: any): void;
    bn(source_: any, a: number, b: any): void;
    static $$p: string[];
}
/**
 * @hidden
 */
export declare class ArcView extends PieChartBaseView {
    static $t: Type;
    protected b2: Arc;
    constructor(a: Arc);
    b4(a: Ring, b: Ring): void;
    b3(): Slice;
    b5(): void;
}
/**
 * @hidden
 */
export declare class RingControlView extends Base {
    static $t: Type;
    protected b: RingControl;
    constructor(a: RingControl);
    private f;
    private g;
    a(): Arc;
    l(a: Arc): void;
    n(a: Arc): void;
    m(a: Arc): void;
    h(): List$1<Arc>;
    r(): void;
    private aa;
    t(a: Arc, b: number, c: number): void;
    private i;
    w(a: any): void;
    private e;
    private z;
    private k;
    private u;
    private o;
    ab(a: Arc): void;
    d(): boolean;
    q(): void;
    private c;
    s(a: RingSeriesBase): void;
    private y;
    p(): void;
    j(): DomRenderer;
    v(a: number, b: number): void;
    x(): void;
}
/**
 * @hidden
 */
export declare class RingSeriesBaseView extends Base {
    static $t: Type;
    protected c: RingSeriesBase;
    constructor(a: RingSeriesBase);
    k(): void;
    f: List$1<RingControl>;
    h(a: RingControl): void;
    private g;
    j(a: DomRenderer, b: BrushCollection, c: BrushCollection, d: Brush, e: FontInfo): {
        p1: BrushCollection;
        p2: BrushCollection;
        p3: Brush;
        p4: FontInfo;
    };
    private a;
    private b;
    private o;
    private d;
    n(a: any): void;
    e(): boolean;
    i(): void;
    l(): void;
    m(a: number, b: number): void;
}
/**
 * @hidden
 */
export declare class XamDoughnutChartView extends Base {
    static $t: Type;
    private e;
    protected a: XamDoughnutChart;
    z: Point;
    d: number;
    constructor(a: XamDoughnutChart);
    r(): void;
    y(): void;
    private c;
    i(a: RingSeriesBase): void;
    v(a: RingSeriesBase): void;
    j(): void;
    aa: Rect;
    x(): void;
    private g;
    private f;
    private b;
    u(a: any): void;
    private s;
    private o;
    private l;
    private m;
    private n;
    h(): string;
    t(a: number, b: number): void;
    w(a: number, b: number): void;
    k(): void;
    p(a: DoughnutChartVisualData): void;
    private q;
}
