import RadiusAxis from './RadiusAxis.js'; 
 | 
import AngleAxis from './AngleAxis.js'; 
 | 
import PolarModel from './PolarModel.js'; 
 | 
import { CoordinateSystem, CoordinateSystemMaster, CoordinateSystemClipArea } from '../CoordinateSystem.js'; 
 | 
import GlobalModel from '../../model/Global.js'; 
 | 
import { ParsedModelFinder } from '../../util/model.js'; 
 | 
import { ScaleDataValue } from '../../util/types.js'; 
 | 
import ExtensionAPI from '../../core/ExtensionAPI.js'; 
 | 
export declare const polarDimensions: string[]; 
 | 
interface Polar { 
 | 
    update(ecModel: GlobalModel, api: ExtensionAPI): void; 
 | 
} 
 | 
declare class Polar implements CoordinateSystem, CoordinateSystemMaster { 
 | 
    readonly name: string; 
 | 
    readonly dimensions: string[]; 
 | 
    readonly type = "polar"; 
 | 
    /** 
 | 
     * x of polar center 
 | 
     */ 
 | 
    cx: number; 
 | 
    /** 
 | 
     * y of polar center 
 | 
     */ 
 | 
    cy: number; 
 | 
    private _radiusAxis; 
 | 
    private _angleAxis; 
 | 
    axisPointerEnabled: boolean; 
 | 
    model: PolarModel; 
 | 
    constructor(name: string); 
 | 
    /** 
 | 
     * If contain coord 
 | 
     */ 
 | 
    containPoint(point: number[]): boolean; 
 | 
    /** 
 | 
     * If contain data 
 | 
     */ 
 | 
    containData(data: number[]): boolean; 
 | 
    getAxis(dim: 'radius' | 'angle'): AngleAxis | RadiusAxis; 
 | 
    getAxes(): (AngleAxis | RadiusAxis)[]; 
 | 
    /** 
 | 
     * Get axes by type of scale 
 | 
     */ 
 | 
    getAxesByScale(scaleType: 'ordinal' | 'interval' | 'time' | 'log'): (AngleAxis | RadiusAxis)[]; 
 | 
    getAngleAxis(): AngleAxis; 
 | 
    getRadiusAxis(): RadiusAxis; 
 | 
    getOtherAxis(axis: AngleAxis | RadiusAxis): AngleAxis | RadiusAxis; 
 | 
    /** 
 | 
     * Base axis will be used on stacking. 
 | 
     * 
 | 
     */ 
 | 
    getBaseAxis(): AngleAxis | RadiusAxis; 
 | 
    getTooltipAxes(dim: 'radius' | 'angle' | 'auto'): { 
 | 
        baseAxes: (AngleAxis | RadiusAxis)[]; 
 | 
        otherAxes: (AngleAxis | RadiusAxis)[]; 
 | 
    }; 
 | 
    /** 
 | 
     * Convert a single data item to (x, y) point. 
 | 
     * Parameter data is an array which the first element is radius and the second is angle 
 | 
     */ 
 | 
    dataToPoint(data: ScaleDataValue[], clamp?: boolean): number[]; 
 | 
    /** 
 | 
     * Convert a (x, y) point to data 
 | 
     */ 
 | 
    pointToData(point: number[], clamp?: boolean): number[]; 
 | 
    /** 
 | 
     * Convert a (x, y) point to (radius, angle) coord 
 | 
     */ 
 | 
    pointToCoord(point: number[]): number[]; 
 | 
    /** 
 | 
     * Convert a (radius, angle) coord to (x, y) point 
 | 
     */ 
 | 
    coordToPoint(coord: number[]): number[]; 
 | 
    /** 
 | 
     * Get ring area of cartesian. 
 | 
     * Area will have a contain function to determine if a point is in the coordinate system. 
 | 
     */ 
 | 
    getArea(): PolarArea; 
 | 
    convertToPixel(ecModel: GlobalModel, finder: ParsedModelFinder, value: ScaleDataValue[]): number[]; 
 | 
    convertFromPixel(ecModel: GlobalModel, finder: ParsedModelFinder, pixel: number[]): number[]; 
 | 
} 
 | 
interface PolarArea extends CoordinateSystemClipArea { 
 | 
    cx: number; 
 | 
    cy: number; 
 | 
    r0: number; 
 | 
    r: number; 
 | 
    startAngle: number; 
 | 
    endAngle: number; 
 | 
    clockwise: boolean; 
 | 
} 
 | 
export default Polar; 
 |