/** a general point in Cartesian coordinate system */ export interface Point { /** x coordinate */ x: number; /** y coordinate */ y: number; /** polar radius */ rho?: number; /** polar angle (in the unit of `config.angleUnit`) */ theta?: number; /** point orientation (in the unit of `config.angleUnit`) */ face?: number; } /** a sub coordinate system in Cartesian coordinate system */ export default class Coordinate implements Point { static from(point: Point): Coordinate; x: number; y: number; $birth?: number; private _cos; private _sin; private _rho; private _face; private _thetaRadian; constructor(x: number, y: number, face?: number); face: number; readonly rho: number; readonly theta: number; readonly thetaRadian: number; dist2(point: Point): number; resolve(point: Point): Coordinate; resolve(x: number, y: number, face?: number): Coordinate; locate(point: Point): Coordinate; locate(x: number, y: number, face?: number): Coordinate; }