import { Arc } from './Arc'; import { Box } from './Box'; import { Matrix } from './Matrix'; import { Segment } from './Segment'; import { Point, PointLike } from './Point'; import { Shape, ShapeTag } from './Shape'; /** * Class representing a circle */ export declare class Circle extends Shape { static EMPTY: Readonly; /** Circle center */ pc: Point; /** Circle radius */ r: number; constructor(); constructor(other: Circle); constructor(pc: PointLike, r?: number); constructor(x: number, y: number, r?: number); /** * Return new cloned instance of circle */ clone(): Circle; get tag(): ShapeTag; get name(): string; get box(): Box; get center(): Point; /** * Return true if circle contains shape: no point of shape lies outside of the circle */ contains(shape: Shape): boolean; /** * Transform circle to closed arc */ toArc(counterclockwise?: boolean): Arc; /** * Method scale is supported only for uniform scaling of the circle with (0,0) center */ scale(s: number): Circle; scale(sx: number, sy: number): Circle; /** * Return new circle transformed using affine transformation matrix */ transform(matrix?: Matrix): Circle; /** * Returns array of intersection points between circle and other shape */ intersect(shape: Shape): Point[]; /** * Calculate distance and shortest segment from circle to shape and return array [distance, shortest segment] * @param shape Shape of the one of supported types Point, Line, Circle, Segment, Arc, Polygon or Planar Set * @returns {number} distance from circle to shape * @returns {Segment} shortest segment between circle and shape (started at circle, ended at shape) */ distanceTo(shape: Shape): [number, Segment]; } /** * Shortcut to create new circle */ export declare const circle: (a: any, b: any, c: any) => Circle; //# sourceMappingURL=Circle.d.ts.map