import { PieChartBase } from "./PieChartBase";
import { DependencyProperty } from "igniteui-angular-core";
import { PieChartBaseView } from "./PieChartBaseView";
import { Type, Base, IEnumerable, INotifyPropertyChanged, Point, PropertyChangedEventArgs } from "igniteui-angular-core";
import { Control } from "igniteui-angular-core";
import { SliceClickEventArgs } from "./SliceClickEventArgs";
import { Slice } from "./Slice";
import { List$1 } from "igniteui-angular-core";
import { NotifyCollectionChangedEventArgs } from "igniteui-angular-core";
import { Pool$1 } from "igniteui-angular-core";
import { FastItemsSource } from "igniteui-angular-core";
import { IChartLegend } from "igniteui-angular-core";
import { Brush } from "igniteui-angular-core";
import { Visibility } from "igniteui-angular-core";
import { OthersCategoryType } from "./OthersCategoryType";
import { BrushCollection } from "igniteui-angular-core";
import { ILegendSeries } from "igniteui-angular-core";
import { ILegendTemplateProvider } from "igniteui-angular-core";
import { LabelsPosition } from "./LabelsPosition";
import { Style } from "igniteui-angular-core";
import { LeaderLineType } from "./LeaderLineType";
import { DataTemplate } from "igniteui-angular-core";
import { Canvas } from "igniteui-angular-core";
import { ILegendOwner } from "igniteui-angular-core";
import { SRProvider } from "igniteui-angular-core";
import { PropertyUpdatedEventArgs } from "igniteui-angular-core";
import { FastItemsSourceEventArgs } from "igniteui-angular-core";
import { FastItemsSourceEventAction } from "igniteui-angular-core";
import { Size } from "igniteui-angular-core";
import { ObservableCollection$1 } from "igniteui-angular-core";
import { DomRenderer } from "igniteui-angular-core";
import { Rect } from "igniteui-angular-core";
import { HoleDimensionsChangedEventArgs } from "./HoleDimensionsChangedEventArgs";
import { DoughnutChartVisualData } from "./DoughnutChartVisualData";
import { FontInfo } from "igniteui-angular-core";
/**
 * @hidden
 */
export declare class Arc extends PieChartBase {
    static $t: Type;
    a3(): PieChartBaseView;
    gn(a: PieChartBaseView): void;
    jf: ArcView;
    constructor();
    private jg;
    get jh(): Ring;
    set jh(a: Ring);
    je: ArcItem;
    jl: number;
    jj: number;
    get jk(): number;
    gj(a: any, b: SliceClickEventArgs): void;
    fy(a: Slice, b: boolean): void;
    g1(a: Slice, b: boolean): void;
    ji(a: Slice): SliceItem;
    protected g0(a: NotifyCollectionChangedEventArgs): void;
    gq(): void;
    gx(): void;
    protected gr(a: any, b: string, c: any, d: any): void;
    jm(): 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 as;
    constructor();
    ax: XamDoughnutChart;
    itemsSource: IEnumerable;
    cs: string;
    bp: string;
    b3: string;
    propertyChanged: (sender: any, e: PropertyChangedEventArgs) => void;
    propertyUpdated: (sender: any, e: PropertyUpdatedEventArgs) => void;
    protected c6(a: string, b: any, c: any): void;
    an: LabelsPosition;
    en: Visibility;
    ei: Style;
    ao: LeaderLineType;
    a7: number;
    toolTip: any;
    a8: number;
    ap: OthersCategoryType;
    ca: string;
    legend: IChartLegend;
    aq: (obj: any) => string;
    ar: (obj: any) => string;
    bl: string;
    ag: any[];
    ce: string;
    aj: any[];
    b0: string;
    ah: any[];
    b5: string;
    ai: any[];
    a6: number;
    ba: number;
    ej: Style;
    ek: Style;
    get el(): Style;
    set el(a: Style);
    em: Style;
    ak: BrushCollection;
    al: BrushCollection;
    eg: Brush;
    ef: Brush;
    private bd;
    get co(): string;
    set co(a: string);
    legendItemTemplate: DataTemplate;
    legendItemBadgeTemplate: DataTemplate;
    static readonly dp: DependencyProperty;
    get da(): DataTemplate;
    set da(a: DataTemplate);
    private a2;
    get a3(): boolean;
    set a3(a: boolean);
    static readonly df: DependencyProperty;
    get a4(): boolean;
    a9: number;
    protected a1: boolean;
    protected bb: (sender: any, e: FastItemsSourceEventArgs) => void;
    ay: FastItemsSource;
    eh: Point;
    aw: RingSeriesBaseView;
    protected c4(a: any, b: string, c: any, d: any): void;
    c9: Canvas;
    get container(): ILegendOwner;
    get isStacked(): boolean;
    get isVertical(): boolean;
    get isUsableInLegend(): boolean;
    get hasMarkers(): boolean;
    get hasSubItems(): boolean;
    protected cv(a: FastItemsSourceEventAction, b: number, c: number, d: string): void;
    av(): RingSeriesBaseView;
    c1(a: RingSeriesBaseView): void;
    abstract au(): RingCollection;
    abstract c3(): void;
    abstract c2(): void;
    c5(a: any): void;
    cu(): void;
    abstract c8(): void;
    abstract c7(): void;
    cy(a: number, b: any): void;
    c0(a: number, b: any, c: any): void;
    cx(): void;
    cz(a: number, b: any): void;
    private cw;
    resolveLegendIndex(): number;
    forSubItems(a: (arg1: any) => void): void;
    private az;
    get a0(): SRProvider;
    cj(): string;
    static $$p: string[];
}
/**
 * @hidden
 */
export declare class Ring extends Base {
    static $t: Type;
    constructor();
    j: number;
    h: number;
    q: Size;
    p: Point;
    private _ringControl;
    get ringControl(): RingControl;
    set ringControl(a: RingControl);
    private b;
    get c(): RingSeriesBase;
    set c(a: 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();
    get al(): RingSeriesBase;
    ak: RingControlView;
    private ah;
    get ai(): Ring;
    set ai(a: 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();
    get ak(): RingCollection;
    aw: boolean;
    ax: boolean;
    av: boolean;
    get series(): RingSeriesCollection;
    private b6;
    static readonly cc: DependencyProperty;
    get a3(): number;
    set a3(a: number);
    get ar(): SliceCollection;
    set ar(a: SliceCollection);
    get aq(): SliceCollection;
    set aq(a: SliceCollection);
    cg: Style;
    a5: any;
    b7: DataTemplate;
    private a0;
    get a4(): number;
    set a4(a: number);
    private az;
    get a1(): number;
    set a1(a: number);
    au: XamDoughnutChartView;
    destroy(): void;
    b5(a: SliceItem, b: boolean): void;
    bj(a: SliceItem, b: boolean): void;
    protected bz(a: any, b: string, c: any, d: any): void;
    at(): XamDoughnutChartView;
    bv(a: XamDoughnutChartView): void;
    b2(): void;
    b4(): void;
    bw(): void;
    b3(): void;
    by(): void;
    bx(): void;
    bt(): void;
    sliceClick: (sender: any, e: SliceClickEventArgs) => void;
    bu(a: any, b: SliceClickEventArgs): void;
    propertyChanged: (sender: any, e: PropertyChangedEventArgs) => void;
    propertyUpdated: (sender: any, e: PropertyUpdatedEventArgs) => void;
    protected b1(a: string, b: any, c: any): void;
    onDetachedFromUI(): void;
    onAttachedToUI(): void;
    provideContainer(a: any): void;
    notifyResized(): void;
    bd(): string;
    cf(): Point;
    a2(): number;
    bk(): void;
    holeDimensionsChanged: (sender: any, e: HoleDimensionsChangedEventArgs) => void;
    bs(): 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 b6: Arc;
    constructor(a: Arc);
    b8(a: Ring, b: Ring): void;
    b7(): Slice;
    b9(): 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;
    g: DomRenderer;
    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;
    protected a: XamDoughnutChart;
    aa: Point;
    d: number;
    constructor(a: XamDoughnutChart);
    s(): void;
    z(): void;
    private c;
    h(a: RingSeriesBase): void;
    w(a: RingSeriesBase): void;
    i(): void;
    ab: Rect;
    y(): void;
    private f;
    private e;
    private b;
    v(a: any): void;
    private t;
    private n;
    private k;
    private l;
    private m;
    g(): string;
    u(a: number, b: number): void;
    x(a: number, b: number): void;
    j(): void;
    o(a: DoughnutChartVisualData): void;
    private p;
    r(): void;
    q(): void;
}
