import type { _NSCopying } from "../Foundation/NSCopying.js";
import type { _NSObject } from "../Foundation/NSObject.js";
import type { _NSSecureCoding } from "../Foundation/NSSecureCoding.js";
import type { _VNPoint } from "./VNPoint.js";
export declare class _VNCircle extends _NSObject {
    static alloc(): _VNCircle;
    static new(): _VNCircle;
    init(): _VNCircle;
    /**
     * @brief Returns a VNCircle object with center at the Origin [0.0; 0.0] and zero radius.
     */
    static zeroCircle(): _VNCircle;
    /** @brief Initializes VNCircle object with given circle center and circle radius. */
    initWithCenter$radius$(center: _VNPoint, radius: number): _VNCircle;
    /**
     * @brief Initializes VNCircle object with given circle center and circle diameter.
     */
    initWithCenter$diameter$(center: _VNPoint, diameter: number): _VNCircle;
    /** @brief Returns YES if the point is inside the circle, including the boundary. */
    containsPoint$(point: _VNPoint): boolean;
    /**
     * @brief Returns YES if the point is within the ring bound by two circles [radius - delta; radius + delta].
     */
    containsPoint$inCircumferentialRingOfWidth$(point: _VNPoint, ringWidth: number): boolean;
    /** @brief Returns circle center. */
    center(): _VNPoint;
    /** @brief Returns circle radius. */
    radius(): number;
    /** @brief Returns circle diameter. */
    diameter(): number;
}
export interface _VNCircle extends _NSCopying, _NSSecureCoding {
}
