import { NumberRange } from "../../../../Core/NumberRange";
import { EAxisType } from "../../../../types/AxisType";
import { CoordinateCalculatorBase } from "../../../Numerics/CoordinateCalculators/CoordinateCalculatorBase";
import { TSciChart } from "../../SciChartSurface";
import { ICategoryAxisOptions } from "../CategoryAxis";
import { IPolarAxisOptions, PolarAxisBase } from "./PolarAxisBase";
/**
 * Optional parameters used to configure a {@link PolarCategoryAxis} at construct time
 */
export interface IPolarCategoryAxisOptions extends IPolarAxisOptions, ICategoryAxisOptions {
}
/**
 * @summary A 2D Chart Category Axis type for use with Polar Charts.
 * @description A category axis uses the X-index not the X-value to measure data-points on the XAxis.
 * For example this can be used in stock chart applications to ensure weekend or overnight gaps are collapsed
 * and each data-point is spaced equidistantly
 * @remarks
 * Set a {@link PolarCategoryAxis} on the {@link SciChartPolarSurface.xAxes} or {@link SciChartPolarSurface.yAxes} property.
 *
 * ---
 * 📚 Docs: {@link https://www.scichart.com/documentation/js/v4/2d-charts/axis-api/axis-types/polar-category-axis/}
 */
export declare class PolarCategoryAxis extends PolarAxisBase {
    readonly type = EAxisType.PolarCategoryAxis;
    /** @inheritDoc */
    get isCategoryAxis(): boolean;
    /**
     * The default x values to use if no series or data is added to the chart.
     * The tick values shown will depend on the visible range, which for category axis is by index, not by value.
     * eg if you want default values [10, 20, 30, 40] you would need to set visibleRange: new NumberRange(0,3)
     * By default it will start at 0 and increment by 1, up to the size of the visible range.
     * To change the start and step set defaultXStart and defaultXStep
     */
    get defaultXValues(): number[];
    /**
     * The default x values to use if no series or data is added to the chart.
     * The tick values shown will depend on the visible range, which for category axis is by index, not by value.
     * eg if you want default values [10, 20, 30, 40] you would need to set visibleRange: new NumberRange(0,3)
     * By default it will start at 0 and increment by 1, up to the size of the visible range.
     * To change the start and step set defaultXStart and defaultXStep
     */
    set defaultXValues(values: number[]);
    /**
     * The starting value for default x values.  See defaultXValues
     */
    get defaultXStart(): number;
    /**
     * The starting value for default x values.  See defaultXValues
     */
    set defaultXStart(value: number);
    /**
     * The step size for default x values.  See defaultXValues
     */
    get defaultXStep(): number;
    /**
     * The step size for default x values.  See defaultXValues
     */
    set defaultXStep(value: number);
    private defaultXValuesProperty;
    private defaultXStartProperty;
    private defaultXStepProperty;
    private defaultBaseXValues;
    /**
     * Creates an instance of a {@link PolarCategoryAxis}
     * @param webAssemblyContext The {@link TSciChart | SciChart 2D WebAssembly Context} containing native methods and
     * access to our WebGL2 Engine and WebAssembly numerical methods
     * @param options Optional parameters of type {@link IPolarCategoryAxisOptions} used to configure the axis at instantiation time
     *
     * ---
     * 📚 Docs: {@link https://www.scichart.com/documentation/js/v4/2d-charts/axis-api/axis-types/polar-category-axis/}
     */
    constructor(webAssemblyContext: TSciChart, options?: IPolarCategoryAxisOptions);
    /** @inheritDoc */
    prepareRenderData(): void;
    /** @inheritDoc */
    delete(): void;
    /** @inheritDoc */
    protected getCurrentCoordinateCalculatorInternal(): CoordinateCalculatorBase;
    /** @inheritDoc */
    protected getXDataRange(): NumberRange;
    protected getMaxAutoTicks(): number;
    private generateDefaultXValuesForCategoryAxis;
    private updateBaseXValues;
}
