import { Position } from './position';
import { Rect } from './rect';
export declare class Circle {
    center: Position;
    radius: number;
    /** Create e new circle instance from the center position and the radius */
    constructor(center: Position, radius: number);
    /**
     * Return a circle from his outer rectangle.
     *
     * @param left      The left position of the circle center or a rectangle object.
     * @param top       The top position of the circle center
     * @param width     The width of the outer rectangle
     * @param height    The height of the outer rectangle
     * @return A circle contained end centered inside the passed ractangle
     */
    static fromOuterRect(left?: number | unknown, top?: number, width?: number, height?: number): Circle;
    /** Return a boolean indicating if the two circle are equals */
    static equals(c1: Circle, c2: Circle): boolean;
    /** Return the outer rectangle of the circle */
    get outerRect(): Rect;
    /** Return a boolean indicate if the circle contains the passed circle */
    contains(circle: Circle): boolean;
    /** Return a boolean indicate if the passed point is inside the circle */
    containsPoint(point: Position): boolean;
    /** Return a the cloned of the cirlce */
    clone(): Circle;
    /** Inflate the circle radius with the specified value */
    inflate(radius: number): Circle;
}
