import { EventEmitter, OnInit, TemplateRef } from '@angular/core';
import { LabelsPosition } from "./LabelsPosition";
import { Visibility } from "igniteui-angular-core";
import { LeaderLineType } from "./LeaderLineType";
import { OthersCategoryType } from "igniteui-angular-core";
import { IgxPropertyUpdatedEventArgs } from "igniteui-angular-core";
import { RingSeriesBase } from "./RingSeriesBase";
import * as i0 from "@angular/core";
/**
 * Represents a
 * IgxDoughnutChartComponent base series.
*/
export declare abstract class IgxRingSeriesBaseComponent implements OnInit {
    protected createImplementation(): RingSeriesBase;
    ngOnInit(): void;
    private _dataSource;
    set dataSource(value: Array<any>);
    get dataSource(): Array<any>;
    bindData(): void;
    protected _implementation: any;
    get i(): RingSeriesBase;
    private onImplementationCreated;
    constructor();
    static _createFromInternal(internal: any): IgxRingSeriesBaseComponent;
    get legend(): any;
    set legend(v: any);
    private _tooltipTemplate;
    private _tooltipContent;
    set tooltipTemplate(value: TemplateRef<any>);
    get tooltipTemplate(): TemplateRef<any>;
    private _tooltipContainerTemplate;
    set tooltipContainerTemplate(value: TemplateRef<any>);
    get tooltipContainerTemplate(): TemplateRef<any>;
    private _ensureTooltipCreated;
    private _ensureTooltipDestroyed;
    private _showDefaultTooltip;
    /**
     * Gets or sets whether default tooltip will be shown.
    */
    get showDefaultTooltip(): boolean;
    set showDefaultTooltip(v: boolean);
    sychronizeCollections(): void;
    /**
 * Gets or Sets the property name that contains the values.
*/
    get valueMemberPath(): string;
    set valueMemberPath(v: string);
    /**
     * Gets or sets the property name that contains the labels.
    */
    get labelMemberPath(): string;
    set labelMemberPath(v: string);
    /**
     * Gets or sets the property name that contains the legend labels.
    */
    get legendLabelMemberPath(): string;
    set legendLabelMemberPath(v: string);
    /**
     * Gets or sets the position of chart labels.
    */
    get labelsPosition(): LabelsPosition;
    set labelsPosition(v: LabelsPosition);
    static ngAcceptInputType_labelsPosition: LabelsPosition | string;
    /**
     * Gets or sets whether the leader lines are visible.
    */
    get leaderLineVisibility(): Visibility;
    set leaderLineVisibility(v: Visibility);
    static ngAcceptInputType_leaderLineVisibility: Visibility | string;
    /**
     * Gets or sets the fill brush.
    */
    get leaderLineFill(): string;
    set leaderLineFill(v: string);
    /**
     * Gets or sets the stroke brush.
    */
    get leaderLineStroke(): string;
    set leaderLineStroke(v: string);
    /**
     * Gets or sets the stroke thickness.
    */
    get leaderLineStrokeThickness(): number;
    set leaderLineStrokeThickness(v: number);
    static ngAcceptInputType_leaderLineStrokeThickness: number | string;
    /**
     * Gets or sets the opacity.
    */
    get leaderLineOpacity(): number;
    set leaderLineOpacity(v: number);
    static ngAcceptInputType_leaderLineOpacity: number | string;
    ensureLeaderLineStyle(): void;
    /**
     * Gets or sets what type of leader lines will be used for the outside end labels.
    */
    get leaderLineType(): LeaderLineType;
    set leaderLineType(v: LeaderLineType);
    static ngAcceptInputType_leaderLineType: LeaderLineType | string;
    /**
     * Gets or sets the margin between a label and its leader line. The default is 6 pixels.
    */
    get leaderLineMargin(): number;
    set leaderLineMargin(v: number);
    static ngAcceptInputType_leaderLineMargin: number | string;
    /**
     * Gets or sets the threshold value that determines if slices are grouped into the Others slice.
    */
    get othersCategoryThreshold(): number;
    set othersCategoryThreshold(v: number);
    static ngAcceptInputType_othersCategoryThreshold: number | string;
    /**
     * Gets or sets whether to use numeric or percent-based threshold value.
    */
    get othersCategoryType(): OthersCategoryType;
    set othersCategoryType(v: OthersCategoryType);
    static ngAcceptInputType_othersCategoryType: OthersCategoryType | string;
    /**
     * Gets or sets the label of the Others slice.
    */
    get othersCategoryText(): string;
    set othersCategoryText(v: string);
    /**
     * Sets or gets a function which takes an object that produces a formatted label for displaying in the chart.
    */
    get formatLabel(): (obj: any) => string;
    set formatLabel(v: (obj: any) => string);
    /**
     * Sets or gets a function which takes an object that produces a formatted label for displaying in the chart's legend.
    */
    get formatLegendLabel(): (obj: any) => string;
    set formatLegendLabel(v: (obj: any) => string);
    /**
     * Gets or sets the label format string to use for the label.
    */
    get labelFormat(): string;
    set labelFormat(v: string);
    /**
     * Gets or sets the format specifiers to use with the LabelFormat string.
    */
    get labelFormatSpecifiers(): any[];
    set labelFormatSpecifiers(v: any[]);
    static ngAcceptInputType_labelFormatSpecifiers: any[] | string;
    /**
     * Gets or sets the label format string to use for the label.
    */
    get othersLabelFormat(): string;
    set othersLabelFormat(v: string);
    /**
     * Gets or sets the format specifiers to use with the OthersLabelFormat string.
    */
    get othersLabelFormatSpecifiers(): any[];
    set othersLabelFormatSpecifiers(v: any[]);
    static ngAcceptInputType_othersLabelFormatSpecifiers: any[] | string;
    /**
     * Gets or sets the label format string to use for the label.
    */
    get legendLabelFormat(): string;
    set legendLabelFormat(v: string);
    /**
     * Gets or sets the format specifiers to use with the LegendLabelFormat string.
    */
    get legendLabelFormatSpecifiers(): any[];
    set legendLabelFormatSpecifiers(v: any[]);
    static ngAcceptInputType_legendLabelFormatSpecifiers: any[] | string;
    /**
     * Gets or sets the label format string to use for the label.
    */
    get legendOthersLabelFormat(): string;
    set legendOthersLabelFormat(v: string);
    /**
     * Gets or sets the format specifiers to use with the LegendOthersLabelFormat string.
    */
    get legendOthersLabelFormatSpecifiers(): any[];
    set legendOthersLabelFormatSpecifiers(v: any[]);
    static ngAcceptInputType_legendOthersLabelFormatSpecifiers: any[] | string;
    /**
     * Gets or sets the pixel amount by which the labels are offset from the edge of the slices.
    */
    get labelExtent(): number;
    set labelExtent(v: number);
    static ngAcceptInputType_labelExtent: number | string;
    /**
     * Gets or sets the starting angle of the chart.
     * The default zero value is equivalent to 3 o'clock.
    */
    get startAngle(): number;
    set startAngle(v: number);
    static ngAcceptInputType_startAngle: number | string;
    /**
     * Gets or sets the fill brush.
    */
    get othersCategoryFill(): string;
    set othersCategoryFill(v: string);
    /**
     * Gets or sets the stroke brush.
    */
    get othersCategoryStroke(): string;
    set othersCategoryStroke(v: string);
    /**
     * Gets or sets the stroke thickness.
    */
    get othersCategoryStrokeThickness(): number;
    set othersCategoryStrokeThickness(v: number);
    static ngAcceptInputType_othersCategoryStrokeThickness: number | string;
    /**
     * Gets or sets the opacity.
    */
    get othersCategoryOpacity(): number;
    set othersCategoryOpacity(v: number);
    static ngAcceptInputType_othersCategoryOpacity: number | string;
    ensureOthersCategoryStyle(): void;
    /**
     * Gets or sets the fill brush.
    */
    get selectedSliceFill(): string;
    set selectedSliceFill(v: string);
    /**
     * Gets or sets the stroke brush.
    */
    get selectedSliceStroke(): string;
    set selectedSliceStroke(v: string);
    /**
     * Gets or sets the stroke thickness.
    */
    get selectedSliceStrokeThickness(): number;
    set selectedSliceStrokeThickness(v: number);
    static ngAcceptInputType_selectedSliceStrokeThickness: number | string;
    /**
     * Gets or sets the opacity.
    */
    get selectedSliceOpacity(): number;
    set selectedSliceOpacity(v: number);
    static ngAcceptInputType_selectedSliceOpacity: number | string;
    ensureSelectedStyle(): void;
    /**
     * Gets or sets the palette of brushes to use for coloring the slices.
    */
    get brushes(): string[];
    set brushes(v: string[]);
    static ngAcceptInputType_brushes: string[] | string;
    /**
     * Gets or sets the palette of brushes to use for outlines on the slices.
    */
    get outlines(): string[];
    set outlines(v: string[]);
    static ngAcceptInputType_outlines: string[] | string;
    /**
     * Gets or sets the color for labels rendered outside of the pie chart.
    */
    get labelOuterColor(): string;
    set labelOuterColor(v: string);
    /**
     * Gets or sets the color for labels rendered inside of the pie chart.
    */
    get labelInnerColor(): string;
    set labelInnerColor(v: string);
    /**
     * Gets or sets the text style to use for labels.
    */
    get textStyle(): string;
    set textStyle(v: string);
    /**
     * Gets or sets whether all surface interactions with the plot area should be disabled.
    */
    get isSurfaceInteractionDisabled(): boolean;
    set isSurfaceInteractionDisabled(v: boolean);
    static ngAcceptInputType_isSurfaceInteractionDisabled: boolean | string;
    /**
     * Gets or sets the scaling factor of the chart's radius. Value between 0 and 1.
    */
    get radiusFactor(): number;
    set radiusFactor(v: number);
    static ngAcceptInputType_radiusFactor: number | string;
    findByName(name: string): any;
    protected __p: string;
    protected _hasUserValues: Set<string>;
    protected get hasUserValues(): Set<string>;
    protected __m(propertyName: string): void;
    protected _stylingContainer: any;
    protected _stylingParent: any;
    protected _inStyling: boolean;
    protected _styling(container: any, component: any, parent?: any): void;
    /**
 * Called by the UI framework to provide a UI container for rendering this control.

* @param container  * The UI container element.
*/
    provideContainer(container: any): void;
    private _propertyUpdated;
    /**
     * Event raised when a property (including "effective" and non-dependency property) value changes.
    */
    get propertyUpdated(): EventEmitter<{
        sender: any;
        args: IgxPropertyUpdatedEventArgs;
    }>;
    protected _zoneRunner: (act: () => void) => void;
    protected _runInZone(act: () => void): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<IgxRingSeriesBaseComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IgxRingSeriesBaseComponent, "ng-component", never, { "dataSource": "dataSource"; "legend": "legend"; "tooltipTemplate": "tooltipTemplate"; "tooltipContainerTemplate": "tooltipContainerTemplate"; "showDefaultTooltip": "showDefaultTooltip"; "valueMemberPath": "valueMemberPath"; "labelMemberPath": "labelMemberPath"; "legendLabelMemberPath": "legendLabelMemberPath"; "labelsPosition": "labelsPosition"; "leaderLineVisibility": "leaderLineVisibility"; "leaderLineFill": "leaderLineFill"; "leaderLineStroke": "leaderLineStroke"; "leaderLineStrokeThickness": "leaderLineStrokeThickness"; "leaderLineOpacity": "leaderLineOpacity"; "leaderLineType": "leaderLineType"; "leaderLineMargin": "leaderLineMargin"; "othersCategoryThreshold": "othersCategoryThreshold"; "othersCategoryType": "othersCategoryType"; "othersCategoryText": "othersCategoryText"; "formatLabel": "formatLabel"; "formatLegendLabel": "formatLegendLabel"; "labelFormat": "labelFormat"; "labelFormatSpecifiers": "labelFormatSpecifiers"; "othersLabelFormat": "othersLabelFormat"; "othersLabelFormatSpecifiers": "othersLabelFormatSpecifiers"; "legendLabelFormat": "legendLabelFormat"; "legendLabelFormatSpecifiers": "legendLabelFormatSpecifiers"; "legendOthersLabelFormat": "legendOthersLabelFormat"; "legendOthersLabelFormatSpecifiers": "legendOthersLabelFormatSpecifiers"; "labelExtent": "labelExtent"; "startAngle": "startAngle"; "othersCategoryFill": "othersCategoryFill"; "othersCategoryStroke": "othersCategoryStroke"; "othersCategoryStrokeThickness": "othersCategoryStrokeThickness"; "othersCategoryOpacity": "othersCategoryOpacity"; "selectedSliceFill": "selectedSliceFill"; "selectedSliceStroke": "selectedSliceStroke"; "selectedSliceStrokeThickness": "selectedSliceStrokeThickness"; "selectedSliceOpacity": "selectedSliceOpacity"; "brushes": "brushes"; "outlines": "outlines"; "labelOuterColor": "labelOuterColor"; "labelInnerColor": "labelInnerColor"; "textStyle": "textStyle"; "isSurfaceInteractionDisabled": "isSurfaceInteractionDisabled"; "radiusFactor": "radiusFactor"; }, { "propertyUpdated": "propertyUpdated"; }, never, never>;
}
