import { Axes, AxesOptions } from './axes.js';
import { AxisOptions } from '../Axis/axisOptions';
import { D3Selection } from '../Utils/elementTypes.js';
export declare const Direction: {
    readonly CLOCKWISE: -1;
    readonly ANTICLOCKWISE: 1;
};
export type Direction = (typeof Direction)[keyof typeof Direction];
export type RadialAxisOptions = AxisOptions;
export interface AngularAxisOptions extends AxisOptions {
    direction?: Direction;
    range?: number[];
    intercept?: number;
}
export interface PolarAxesOptions extends AxesOptions {
    innerRadius?: number;
    radial?: RadialAxisOptions;
    angular?: AngularAxisOptions;
}
export declare class PolarAxes extends Axes {
    radialScale: any;
    angularScale: any;
    options: PolarAxesOptions;
    radialAxis: D3Selection<SVGGElement> | null;
    angularAxis: D3Selection<SVGGElement> | null;
    radialGrid: D3Selection<SVGGElement> | null;
    angularGrid: D3Selection<SVGGElement> | null;
    constructor(container: HTMLElement, width: number | null, height: number | null, options: PolarAxesOptions);
    setOptions(options: Partial<PolarAxesOptions>): void;
    get direction(): Direction;
    get intercept(): number;
    get innerRadiusFactor(): number;
    get innerRadius(): number;
    get outerRadius(): number;
    updateCanvas(): void;
    redraw(): void;
    radToDegrees(value: number): number;
    update(): void;
    protected setRange(): void;
    protected initGrid(): void;
}
