import { PieChartSweepDirection } from "./PieChartSweepDirection";
import { CalloutCollisionMode } from "igniteui-react-core";
import { LegendEmptyValuesMode } from "igniteui-react-core";
import { OthersCategoryType } from "igniteui-react-core";
import { AxisRangeBufferMode } from "./AxisRangeBufferMode";
import { RadialLabelMode } from "igniteui-react-core";
import { CollisionAvoidanceType } from "./CollisionAvoidanceType";
import { IgrOthersCategoryContext } from "./igr-others-category-context";
import { IgrRadialBaseChart, IIgrRadialBaseChartProps } from "./igr-radial-base-chart";
import { DataPieBaseChart } from "./DataPieBaseChart";
/**
 * Represents a base class for PieBase chart control that can plot scatter data
*/
export declare abstract class IgrDataPieBaseChart<P extends IIgrDataPieBaseChartProps = IIgrDataPieBaseChartProps> extends IgrRadialBaseChart<P> {
    /**
                                 * @hidden
                                 */
    get i(): DataPieBaseChart;
    constructor(props: P);
    /**
     * Gets or sets the label format for the slices.
    */
    get sliceLabelFormat(): string;
    set sliceLabelFormat(v: string);
    /**
     * Gets or sets the format specifiers to use with the labels for the slices.
    */
    get sliceLabelFormatSpecifiers(): any[];
    set sliceLabelFormatSpecifiers(v: any[]);
    /**
     * Gets or sets the label format for the LegendSlices.
    */
    get legendSliceLabelFormat(): string;
    set legendSliceLabelFormat(v: string);
    /**
     * Gets or sets the format specifiers to use with the labels for the LegendSlices.
    */
    get legendSliceLabelFormatSpecifiers(): any[];
    set legendSliceLabelFormatSpecifiers(v: any[]);
    /**
     * Gets or sets the label format for the OthersSlices.
    */
    get othersSliceLabelFormat(): string;
    set othersSliceLabelFormat(v: string);
    /**
     * Gets or sets the format specifiers to use with the labels for the OthersSlices.
    */
    get othersSliceLabelFormatSpecifiers(): any[];
    set othersSliceLabelFormatSpecifiers(v: any[]);
    /**
     * Gets or sets the label format for the LegendOthersSlices.
    */
    get legendOthersSliceLabelFormat(): string;
    set legendOthersSliceLabelFormat(v: string);
    /**
     * Gets or sets the format specifiers to use with the labels for the LegendOthersSlices.
    */
    get legendOthersSliceLabelFormatSpecifiers(): any[];
    set legendOthersSliceLabelFormatSpecifiers(v: any[]);
    /**
     * Defines the percentage of the maximum radius extent to leave blank at the center of the chart. Should be
     * a value between 0.0 and 1.0.
    */
    get innerExtent(): number;
    set innerExtent(v: number);
    /**
     * Defines the percentage of the maximum radius extent to leave blank at the center of the chart. Should be
     * a value between 0.0 and 1.0.
    */
    get sweepDirection(): PieChartSweepDirection;
    set sweepDirection(v: PieChartSweepDirection);
    /**
     * Defines the positioning mode of the slice labels for the pie chart.
    */
    get sliceLabelPositionMode(): CalloutCollisionMode;
    set sliceLabelPositionMode(v: CalloutCollisionMode);
    /**
     * Gets or sets the light color to use for slice labels.
    */
    get lightSliceLabelColor(): string;
    set lightSliceLabelColor(v: string);
    /**
     * Gets or sets the Dark color to use for slice labels.
    */
    get darkSliceLabelColor(): string;
    set darkSliceLabelColor(v: string);
    /**
     * Gets or sets the overridden value member path to use.
    */
    get valueMemberPath(): string;
    set valueMemberPath(v: string);
    /**
     * Gets or sets the legend label member path to use.
    */
    get legendLabelMemberPath(): string;
    set legendLabelMemberPath(v: string);
    get legendEmptyValuesMode(): LegendEmptyValuesMode;
    set legendEmptyValuesMode(v: LegendEmptyValuesMode);
    /**
     * Gets or sets whether to use numeric or percent-based threshold value.
    */
    get othersCategoryType(): OthersCategoryType;
    set othersCategoryType(v: OthersCategoryType);
    /**
     * Gets or sets the threshold value that determines if slices are grouped into the Others slice.
    */
    get othersCategoryThreshold(): number;
    set othersCategoryThreshold(v: number);
    /**
     * Gets or sets the label of the Others slice.
    */
    get othersCategoryText(): string;
    set othersCategoryText(v: string);
    /**
     * Gets or sets the overridden value member path to use.
    */
    get labelMemberPath(): string;
    set labelMemberPath(v: string);
    /**
     * Gets or sets whether the axis should favor emitting a label at the end of the scale.
    */
    get valueAxisFavorLabellingScaleEnd(): boolean;
    set valueAxisFavorLabellingScaleEnd(v: boolean);
    /**
     * Gets or sets how the numeric axis will adjust its range buffer to less closely fix the data from the series.
    */
    get valueAxisAutoRangeBufferMode(): AxisRangeBufferMode;
    set valueAxisAutoRangeBufferMode(v: AxisRangeBufferMode);
    /**
     * Gets or sets the frequency of displayed labels along the X-axis.
     * Gets or sets the set value is a factor that determines which labels will be hidden. For example, an interval of 2 will display every other label.
    */
    get angleAxisInterval(): number;
    set angleAxisInterval(v: number);
    /**
     * Gets or sets the frequency of displayed minor lines along the X-axis.
     * Gets or sets the set value is a factor that determines how the minor lines will be displayed.
    */
    get angleAxisMinorInterval(): number;
    set angleAxisMinorInterval(v: number);
    /**
     * Gets or sets the distance between each label and grid line along the Y-axis.
    */
    get valueAxisInterval(): number;
    set valueAxisInterval(v: number);
    /**
     * Gets or sets whether the Y-axis should use a logarithmic scale instead of a linear one.
     * Since log(-1) is imaginary and log(0) is undefined, it is recommended to enable this property only when the Y-axis minimum is greater than zero.
    */
    get valueAxisIsLogarithmic(): boolean;
    set valueAxisIsLogarithmic(v: boolean);
    /**
     * Gets or sets the base value to use in the log function when mapping the position of data items along the Y-axis.
     * This property is effective only when ValueAxisIsLogarithmic is true.
    */
    get valueAxisLogarithmBase(): number;
    set valueAxisLogarithmBase(v: number);
    /**
     * Gets or sets the data value corresponding to the minimum value of the Y-axis.
    */
    get valueAxisMinimumValue(): number;
    set valueAxisMinimumValue(v: number);
    /**
     * Gets or sets the data value corresponding to the maximum value of the Y-axis.
    */
    get valueAxisMaximumValue(): number;
    set valueAxisMaximumValue(v: number);
    /**
     * Gets or sets the frequency of displayed minor lines along the Y-axis.
    */
    get valueAxisMinorInterval(): number;
    set valueAxisMinorInterval(v: number);
    /**
     * Gets the current minimum value for the Y-axis.
    */
    get valueAxisActualMinimum(): number;
    /**
     * Gets the current maximum value for the Y-axis.
    */
    get valueAxisActualMaximum(): number;
    /**
     * Gets or sets the extent of the chart's radius. Value between 0 and 1.
    */
    get radiusExtent(): number;
    set radiusExtent(v: number);
    /**
     * Gets or sets the start angle to use for the pie chart measured in degrees from the positive x axis.
    */
    get startAngle(): number;
    set startAngle(v: number);
    /**
     * Gets or sets the label of the Others slice.
    */
    get sliceLabelContentSeparator(): string;
    set sliceLabelContentSeparator(v: string);
    /**
     * Gets or sets the label of the Others slice.
    */
    get sliceLabelContentMode(): RadialLabelMode;
    set sliceLabelContentMode(v: RadialLabelMode);
    /**
     * Gets or sets the label of the Others slice.
    */
    get legendSliceLabelContentMode(): RadialLabelMode;
    set legendSliceLabelContentMode(v: RadialLabelMode);
    /**
     * Gets or sets whether to favor labelling the end of the scale.
    */
    get angleAxisFavorLabellingScaleEnd(): boolean;
    set angleAxisFavorLabellingScaleEnd(v: boolean);
    /**
     * Gets or sets whether the large numbers on the Y-axis labels are abbreviated.
    */
    get valueAxisAbbreviateLargeNumbers(): boolean;
    set valueAxisAbbreviateLargeNumbers(v: boolean);
    /**
     * Gets or sets collision avoidance between markers on series that support this behaviour.
    */
    get markerCollision(): CollisionAvoidanceType;
    set markerCollision(v: CollisionAvoidanceType);
    /**
     * Gets or sets whether the mouse leave event should fire when a manipulation is starting.
    */
    get fireMouseLeaveOnManipulationStart(): boolean;
    set fireMouseLeaveOnManipulationStart(v: boolean);
    findByName(name: string): any;
    /**
     * Gets the Others context which provides a current list of items in Others slice.
    
    */
    getOthersContext(): IgrOthersCategoryContext;
}
export interface IIgrDataPieBaseChartProps extends IIgrRadialBaseChartProps {
    /**
     * Gets or sets the label format for the slices.
    */
    sliceLabelFormat?: string;
    /**
     * Gets or sets the format specifiers to use with the labels for the slices.
    */
    sliceLabelFormatSpecifiers?: any[];
    /**
     * Gets or sets the label format for the LegendSlices.
    */
    legendSliceLabelFormat?: string;
    /**
     * Gets or sets the format specifiers to use with the labels for the LegendSlices.
    */
    legendSliceLabelFormatSpecifiers?: any[];
    /**
     * Gets or sets the label format for the OthersSlices.
    */
    othersSliceLabelFormat?: string;
    /**
     * Gets or sets the format specifiers to use with the labels for the OthersSlices.
    */
    othersSliceLabelFormatSpecifiers?: any[];
    /**
     * Gets or sets the label format for the LegendOthersSlices.
    */
    legendOthersSliceLabelFormat?: string;
    /**
     * Gets or sets the format specifiers to use with the labels for the LegendOthersSlices.
    */
    legendOthersSliceLabelFormatSpecifiers?: any[];
    /**
     * Defines the percentage of the maximum radius extent to leave blank at the center of the chart. Should be
     * a value between 0.0 and 1.0.
    */
    innerExtent?: number | string;
    /**
     * Defines the percentage of the maximum radius extent to leave blank at the center of the chart. Should be
     * a value between 0.0 and 1.0.
    */
    sweepDirection?: PieChartSweepDirection | string;
    /**
     * Defines the positioning mode of the slice labels for the pie chart.
    */
    sliceLabelPositionMode?: CalloutCollisionMode | string;
    /**
     * Gets or sets the light color to use for slice labels.
    */
    lightSliceLabelColor?: string;
    /**
     * Gets or sets the Dark color to use for slice labels.
    */
    darkSliceLabelColor?: string;
    /**
     * Gets or sets the overridden value member path to use.
    */
    valueMemberPath?: string;
    /**
     * Gets or sets the legend label member path to use.
    */
    legendLabelMemberPath?: string;
    legendEmptyValuesMode?: LegendEmptyValuesMode | string;
    /**
     * Gets or sets whether to use numeric or percent-based threshold value.
    */
    othersCategoryType?: OthersCategoryType | string;
    /**
     * Gets or sets the threshold value that determines if slices are grouped into the Others slice.
    */
    othersCategoryThreshold?: number | string;
    /**
     * Gets or sets the label of the Others slice.
    */
    othersCategoryText?: string;
    /**
     * Gets or sets the overridden value member path to use.
    */
    labelMemberPath?: string;
    /**
     * Gets or sets whether the axis should favor emitting a label at the end of the scale.
    */
    valueAxisFavorLabellingScaleEnd?: boolean | string;
    /**
     * Gets or sets how the numeric axis will adjust its range buffer to less closely fix the data from the series.
    */
    valueAxisAutoRangeBufferMode?: AxisRangeBufferMode | string;
    /**
     * Gets or sets the frequency of displayed labels along the X-axis.
     * Gets or sets the set value is a factor that determines which labels will be hidden. For example, an interval of 2 will display every other label.
    */
    angleAxisInterval?: number | string;
    /**
     * Gets or sets the frequency of displayed minor lines along the X-axis.
     * Gets or sets the set value is a factor that determines how the minor lines will be displayed.
    */
    angleAxisMinorInterval?: number | string;
    /**
     * Gets or sets the distance between each label and grid line along the Y-axis.
    */
    valueAxisInterval?: number | string;
    /**
     * Gets or sets whether the Y-axis should use a logarithmic scale instead of a linear one.
     * Since log(-1) is imaginary and log(0) is undefined, it is recommended to enable this property only when the Y-axis minimum is greater than zero.
    */
    valueAxisIsLogarithmic?: boolean | string;
    /**
     * Gets or sets the base value to use in the log function when mapping the position of data items along the Y-axis.
     * This property is effective only when ValueAxisIsLogarithmic is true.
    */
    valueAxisLogarithmBase?: number | string;
    /**
     * Gets or sets the data value corresponding to the minimum value of the Y-axis.
    */
    valueAxisMinimumValue?: number | string;
    /**
     * Gets or sets the data value corresponding to the maximum value of the Y-axis.
    */
    valueAxisMaximumValue?: number | string;
    /**
     * Gets or sets the frequency of displayed minor lines along the Y-axis.
    */
    valueAxisMinorInterval?: number | string;
    /**
     * Gets or sets the extent of the chart's radius. Value between 0 and 1.
    */
    radiusExtent?: number | string;
    /**
     * Gets or sets the start angle to use for the pie chart measured in degrees from the positive x axis.
    */
    startAngle?: number | string;
    /**
     * Gets or sets the label of the Others slice.
    */
    sliceLabelContentSeparator?: string;
    /**
     * Gets or sets the label of the Others slice.
    */
    sliceLabelContentMode?: RadialLabelMode | string;
    /**
     * Gets or sets the label of the Others slice.
    */
    legendSliceLabelContentMode?: RadialLabelMode | string;
    /**
     * Gets or sets whether to favor labelling the end of the scale.
    */
    angleAxisFavorLabellingScaleEnd?: boolean | string;
    /**
     * Gets or sets whether the large numbers on the Y-axis labels are abbreviated.
    */
    valueAxisAbbreviateLargeNumbers?: boolean | string;
    /**
     * Gets or sets collision avoidance between markers on series that support this behaviour.
    */
    markerCollision?: CollisionAvoidanceType | string;
    /**
     * Gets or sets whether the mouse leave event should fire when a manipulation is starting.
    */
    fireMouseLeaveOnManipulationStart?: boolean | string;
}
