import { AcDbCircle, AcGePoint3dLike } from '@mlightcad/data-model';
import { AcApContext } from '../app';
import { AcEdBaseView, AcEdCommand, AcEdPreviewJig } from '../editor';
/**
 * Dynamic radius preview jig used by center-based circle workflows.
 */
export declare class AcApCircleJig extends AcEdPreviewJig<number> {
    /**
     * Transient circle entity reused during radius preview.
     */
    private _circle;
    /**
     * Creates a circle jig.
     *
     * @param view - The associated view
     */
    constructor(view: AcEdBaseView, center: AcGePoint3dLike);
    /**
     * Gets transient circle entity displayed by the jig.
     */
    get entity(): AcDbCircle;
    /**
     * Updates preview radius.
     *
     * @param radius - Dynamic radius value from prompt input.
     */
    update(radius: number): void;
}
/**
 * Command to create one circle.
 */
export declare class AcApCircleCmd extends AcEdCommand {
    /**
     * Creates CIRCLE command instance.
     */
    constructor();
    /**
     * Command entry point.
     *
     * Supports center/radius, center/diameter, two-point and three-point
     * circle creation through a prompt state machine.
     *
     * @param context - Current application/document context.
     */
    execute(context: AcApContext): Promise<void>;
    /**
     * Runs center-based workflow:
     * center -> radius OR center -> diameter.
     *
     * @param context - Current application/document context.
     * @param center - Picked center point.
     * @returns Resolved circle definition, or `undefined` on cancel/invalid input.
     */
    private runCenterFlow;
    /**
     * Prompts diameter input in center-based workflow.
     *
     * @param context - Current application/document context.
     * @param center - Circle center point.
     * @returns Circle definition, or `undefined` when canceled/invalid.
     */
    private promptDiameterCircle;
    /**
     * Creates circle definition from two points.
     *
     * @param first - First point of diameter.
     * @param second - Second point of diameter.
     * @returns Circle definition, or `undefined` when points are invalid.
     */
    private createFromTwoPoints;
    /**
     * Creates circle definition from three points.
     *
     * @param p1 - First point on circle.
     * @param p2 - Second point on circle.
     * @param p3 - Third point on circle.
     * @returns Circle definition, or `undefined` when points are degenerate.
     */
    private createFromThreePoints;
}
//# sourceMappingURL=AcApCircleCmd.d.ts.map