import * as React from 'react';
import { IgPoint } from "igniteui-react-core";
import { RadialLabelMode } from "igniteui-react-core";
import { CategoryTransitionInMode } from "./CategoryTransitionInMode";
import { IgrCategoryAngleAxis } from "./igr-category-angle-axis";
import { IgrNumericRadiusAxis } from "./igr-numeric-radius-axis";
import { IgrAssigningRadialStyleEventArgs } from "./igr-assigning-radial-style-event-args";
import { IgrAssigningRadialMarkerStyleEventArgs } from "./igr-assigning-radial-marker-style-event-args";
import { IgrMarkerSeries, IIgrMarkerSeriesProps } from "./igr-marker-series";
import { RadialBase } from "./RadialBase";
import { IgrAxis } from "./igr-axis";
/**
 * Represents the base class for all IgxDataChartComponent radial series
*/
export declare abstract class IgrRadialBase<P extends IIgrRadialBaseProps = IIgrRadialBaseProps> extends IgrMarkerSeries<P> {
    /**
                                 * @hidden
                                 */
    get i(): RadialBase;
    constructor(props: P & React.HTMLAttributes<HTMLElement>);
    /**
     * Gets or sets the format string to use for the auto callout labels for the others category.
    */
    get autoCalloutLabelPrecision(): number;
    set autoCalloutLabelPrecision(v: number);
    /**
     * Gets or sets the format string to use for the auto callout labels for the others category.
    */
    get autoCalloutPercentagePrecision(): number;
    set autoCalloutPercentagePrecision(v: number);
    /**
     * Gets or sets the labelling mode to use for the auto callouts in preference to their mode.
    */
    get autoCalloutLabelValueSeparator(): string;
    set autoCalloutLabelValueSeparator(v: string);
    /**
     * Gets or sets the labelling mode to use for the auto callouts in preference to their mode.
    */
    get legendRadialLabelMode(): RadialLabelMode;
    set legendRadialLabelMode(v: RadialLabelMode);
    /**
     * Gets or sets the labelling mode to use for the auto callouts in preference to their mode.
    */
    get autoCalloutRadialLabelMode(): RadialLabelMode;
    set autoCalloutRadialLabelMode(v: RadialLabelMode);
    /**
     * Gets or sets the format string to use for the auto callout labels for the others category.
    */
    get autoCalloutOthersLabelFormat(): string;
    set autoCalloutOthersLabelFormat(v: string);
    /**
     * Gets or sets the format specifiers to use with the auto callouts for the others category.
    */
    get autoCalloutOthersLabelFormatSpecifiers(): any[];
    set autoCalloutOthersLabelFormatSpecifiers(v: any[]);
    /**
     * Gets or sets the format string to use for the auto callout labels for the others category.
    */
    get proportionalRadialLabelFormat(): string;
    set proportionalRadialLabelFormat(v: string);
    /**
     * Gets or sets the format specifiers to use with the auto callouts for the others category.
    */
    get proportionalRadialLabelFormatSpecifiers(): any[];
    set proportionalRadialLabelFormatSpecifiers(v: any[]);
    /**
     * Gets or sets the format string to use for the auto callout labels for the others category.
    */
    get legendProportionalRadialLabelFormat(): string;
    set legendProportionalRadialLabelFormat(v: string);
    /**
     * Gets or sets the format specifiers to use with the auto callouts for the others category.
    */
    get legendProportionalRadialLabelFormatSpecifiers(): any[];
    set legendProportionalRadialLabelFormatSpecifiers(v: any[]);
    /**
     * Gets or sets the format string to use for the auto callout labels for the others category.
    */
    get othersProportionalRadialLabelFormat(): string;
    set othersProportionalRadialLabelFormat(v: string);
    /**
     * Gets or sets the format specifiers to use with the auto callouts for the others category.
    */
    get othersProportionalRadialLabelFormatSpecifiers(): any[];
    set othersProportionalRadialLabelFormatSpecifiers(v: any[]);
    /**
     * Gets or sets the format string to use for the auto callout labels for the others category.
    */
    get othersLegendProportionalRadialLabelFormat(): string;
    set othersLegendProportionalRadialLabelFormat(v: string);
    /**
     * Gets or sets the format specifiers to use with the auto callouts for the others category.
    */
    get othersLegendProportionalRadialLabelFormatSpecifiers(): any[];
    set othersLegendProportionalRadialLabelFormatSpecifiers(v: any[]);
    /**
     * Checks if this series is a radial series
    */
    get isRadial(): boolean;
    /**
     * Gets or sets whether this Radial series should allow custom style overrides of its individual visuals.
    */
    get isCustomRadialStyleAllowed(): boolean;
    set isCustomRadialStyleAllowed(v: boolean);
    /**
     * Gets or sets whether this Radial series should allow custom style overrides of its individual marker visuals.
    */
    get isCustomRadialMarkerStyleAllowed(): boolean;
    set isCustomRadialMarkerStyleAllowed(v: boolean);
    /**
     * Gets or sets the method by which to animate the data into the chart when the chart data source is swapped.
     * Note: Transitions are not currently supported for stacked series.
    */
    get transitionInMode(): CategoryTransitionInMode;
    set transitionInMode(v: CategoryTransitionInMode);
    /**
     * Gets or sets whether the series should transition into the plot area when a new data source is assigned.
     * Note: Transitions are not currently supported for stacked series.
    */
    get isTransitionInEnabled(): boolean;
    set isTransitionInEnabled(v: boolean);
    /**
     * Gets the effective angle axis for the current series object.
    */
    get angleAxis(): IgrCategoryAngleAxis;
    set angleAxis(v: IgrCategoryAngleAxis);
    private _angleAxisName;
    /**
    * Gets or sets the name to use to resolve angleAxis from markup.
    */
    get angleAxisName(): string;
    set angleAxisName(v: string);
    /**
     * Gets the effective value axis for the current series object.
    */
    get valueAxis(): IgrNumericRadiusAxis;
    set valueAxis(v: IgrNumericRadiusAxis);
    private _valueAxisName;
    /**
    * Gets or sets the name to use to resolve valueAxis from markup.
    */
    get valueAxisName(): string;
    set valueAxisName(v: string);
    /**
     * Gets or sets whether to clip the series to the bounds.
     * Setting this property to true will decrease chart performance.
    */
    get clipSeriesToBounds(): boolean;
    set clipSeriesToBounds(v: boolean);
    bindAxes(axes: IgrAxis[]): void;
    findByName(name: string): any;
    protected _styling(container: any, component: any, parent?: any): void;
    /**
     * Determine if object can be used as ValueAxis
    
    * @param axis  * The object to check
    */
    canUseAsValueAxis(axis: any): boolean;
    /**
     * Determine if object can be used as AngleAxis
    
    * @param axis  * The object to check
    */
    canUseAsAngleAxis(axis: any): boolean;
    /**
     * Gets the item that is the best match for the specified world coordinates.
    
    * @param world  * The world coordinates to use.
    */
    getItem(world: IgPoint): any;
    /**
     * Gets the angle to the provided world position from the center of the radial series.
    
    * @param world  * The world position to get the angle for
    */
    getAngleFromWorld(world: IgPoint): number;
    /**
     * Gets the precise item index, if possible, based on the closeness to the previous or next whole integer. If the series cannot provide this information, GetExactItemIndex will return the same integer value as GetItemIndex.
    
    * @param world  * The world position for which to return the index.
    */
    getExactItemIndex(world: IgPoint): number;
    /**
     * Get the index of the item near the provided world coordinates.
    
    * @param world  * The world coordinates for which to getch the item index.
    */
    getItemIndex(world: IgPoint): number;
    /**
     * Scrolls the specified item into the view.
    
    * @param item  * The item to scroll into view.
    */
    scrollIntoView(item: any): boolean;
    /**
     * Returns the offset value for this series if grouped on a category axis.
    
    */
    getOffsetValue(): number;
    /**
     * Returns the width of the category grouping this series is in.
    
    */
    getCategoryWidth(): number;
    private _assigningRadialStyle;
    private _assigningRadialStyle_wrapped;
    /**
     * Event raised when Assigning Category Style
    */
    get assigningRadialStyle(): (s: IgrRadialBase, e: IgrAssigningRadialStyleEventArgs) => void;
    set assigningRadialStyle(ev: (s: IgrRadialBase, e: IgrAssigningRadialStyleEventArgs) => void);
    private _assigningRadialMarkerStyle;
    private _assigningRadialMarkerStyle_wrapped;
    /**
     * Event raised when Assigning Radial Marker Style
    */
    get assigningRadialMarkerStyle(): (s: IgrRadialBase, e: IgrAssigningRadialMarkerStyleEventArgs) => void;
    set assigningRadialMarkerStyle(ev: (s: IgrRadialBase, e: IgrAssigningRadialMarkerStyleEventArgs) => void);
}
export interface IIgrRadialBaseProps extends IIgrMarkerSeriesProps {
    /**
     * Gets or sets the format string to use for the auto callout labels for the others category.
    */
    autoCalloutLabelPrecision?: number | string;
    /**
     * Gets or sets the format string to use for the auto callout labels for the others category.
    */
    autoCalloutPercentagePrecision?: number | string;
    /**
     * Gets or sets the labelling mode to use for the auto callouts in preference to their mode.
    */
    autoCalloutLabelValueSeparator?: string;
    /**
     * Gets or sets the labelling mode to use for the auto callouts in preference to their mode.
    */
    legendRadialLabelMode?: RadialLabelMode | string;
    /**
     * Gets or sets the labelling mode to use for the auto callouts in preference to their mode.
    */
    autoCalloutRadialLabelMode?: RadialLabelMode | string;
    /**
     * Gets or sets the format string to use for the auto callout labels for the others category.
    */
    autoCalloutOthersLabelFormat?: string;
    /**
     * Gets or sets the format specifiers to use with the auto callouts for the others category.
    */
    autoCalloutOthersLabelFormatSpecifiers?: any[];
    /**
     * Gets or sets the format string to use for the auto callout labels for the others category.
    */
    proportionalRadialLabelFormat?: string;
    /**
     * Gets or sets the format specifiers to use with the auto callouts for the others category.
    */
    proportionalRadialLabelFormatSpecifiers?: any[];
    /**
     * Gets or sets the format string to use for the auto callout labels for the others category.
    */
    legendProportionalRadialLabelFormat?: string;
    /**
     * Gets or sets the format specifiers to use with the auto callouts for the others category.
    */
    legendProportionalRadialLabelFormatSpecifiers?: any[];
    /**
     * Gets or sets the format string to use for the auto callout labels for the others category.
    */
    othersProportionalRadialLabelFormat?: string;
    /**
     * Gets or sets the format specifiers to use with the auto callouts for the others category.
    */
    othersProportionalRadialLabelFormatSpecifiers?: any[];
    /**
     * Gets or sets the format string to use for the auto callout labels for the others category.
    */
    othersLegendProportionalRadialLabelFormat?: string;
    /**
     * Gets or sets the format specifiers to use with the auto callouts for the others category.
    */
    othersLegendProportionalRadialLabelFormatSpecifiers?: any[];
    /**
     * Gets or sets whether this Radial series should allow custom style overrides of its individual visuals.
    */
    isCustomRadialStyleAllowed?: boolean | string;
    /**
     * Gets or sets whether this Radial series should allow custom style overrides of its individual marker visuals.
    */
    isCustomRadialMarkerStyleAllowed?: boolean | string;
    /**
     * Gets or sets the method by which to animate the data into the chart when the chart data source is swapped.
     * Note: Transitions are not currently supported for stacked series.
    */
    transitionInMode?: CategoryTransitionInMode | string;
    /**
     * Gets or sets whether the series should transition into the plot area when a new data source is assigned.
     * Note: Transitions are not currently supported for stacked series.
    */
    isTransitionInEnabled?: boolean | string;
    /**
     * Gets the effective angle axis for the current series object.
    */
    angleAxis?: IgrCategoryAngleAxis;
    /**
    * Gets or sets the name to use to resolve angleAxis from markup.
    */
    angleAxisName?: string;
    /**
     * Gets the effective value axis for the current series object.
    */
    valueAxis?: IgrNumericRadiusAxis;
    /**
    * Gets or sets the name to use to resolve valueAxis from markup.
    */
    valueAxisName?: string;
    /**
     * Gets or sets whether to clip the series to the bounds.
     * Setting this property to true will decrease chart performance.
    */
    clipSeriesToBounds?: boolean | string;
    /**
     * Event raised when Assigning Category Style
    */
    assigningRadialStyle?: (s: IgrRadialBase, e: IgrAssigningRadialStyleEventArgs) => void;
    /**
     * Event raised when Assigning Radial Marker Style
    */
    assigningRadialMarkerStyle?: (s: IgrRadialBase, e: IgrAssigningRadialMarkerStyleEventArgs) => void;
}
