import * as React from 'react';
import { OthersCategoryType } from "igniteui-react-core";
import { IgrCategoryAngleAxis, IIgrCategoryAngleAxisProps } from "./igr-category-angle-axis";
import { ProportionalCategoryAngleAxis } from "./ProportionalCategoryAngleAxis";
/**
 * Represents a IgxDataChartComponent category angle axis. Useful for displaying radial categories.
*/
export declare class IgrProportionalCategoryAngleAxis<P extends IIgrProportionalCategoryAngleAxisProps = IIgrProportionalCategoryAngleAxisProps> extends IgrCategoryAngleAxis<P> {
    protected createImplementation(): ProportionalCategoryAngleAxis;
    /**
                                 * @hidden
                                 */
    get i(): ProportionalCategoryAngleAxis;
    constructor(props: P & React.HTMLAttributes<HTMLElement>);
    /**
     * Gets or sets the Value mapping property for the axis.
    */
    get valueMemberPath(): string;
    set valueMemberPath(v: string);
    get normalizationMayContainUnknowns(): boolean;
    /**
     * Gets or sets the threshold value that determines if categories are grouped into the Others category.
    */
    get othersCategoryThreshold(): number;
    set othersCategoryThreshold(v: number);
    /**
     * Gets or sets whether to use numeric or percent-based threshold value.
    */
    get othersCategoryType(): OthersCategoryType;
    set othersCategoryType(v: OthersCategoryType);
    /**
     * Gets or sets the label of the Others slice.
    */
    get othersCategoryText(): string;
    set othersCategoryText(v: string);
    get isPiecewise(): boolean;
    get othersValue(): number;
    get othersIndex(): number;
    get hasOthersCategory(): boolean;
    getItemValue(item: any, memberPathName: string): any;
    /**
     * Gets a scaled value inside the viewport.
    
    * @param unscaledValue  * Value to scale.
    * @param p  * Scaler parameters
    */
    getScaledAngle(unscaledAngle: number): number;
    /**
     * Returns an unscaled value from a scaled value based on the amount of data.
    
    * @param scaledValue  * Scaled value.
    * @param p  * Scaler parameters
    */
    getUnscaledAngle(scaledAngle: number): number;
    isOthersValue(index: number): boolean;
    getValueLabel(value: number): string;
    getNormalizingValueAtIndex(index: number, fallbackValue: number): number;
    getPercentageValue(labelIndex: number): number;
}
export interface IIgrProportionalCategoryAngleAxisProps extends IIgrCategoryAngleAxisProps {
    /**
     * Gets or sets the Value mapping property for the axis.
    */
    valueMemberPath?: string;
    /**
     * Gets or sets the threshold value that determines if categories are grouped into the Others category.
    */
    othersCategoryThreshold?: number | string;
    /**
     * Gets or sets whether to use numeric or percent-based threshold value.
    */
    othersCategoryType?: OthersCategoryType | string;
    /**
     * Gets or sets the label of the Others slice.
    */
    othersCategoryText?: string;
}
