import { AcApContext } from '../app';
import { AcEdCommand } from '../editor';
/**
 * Command to create one ellipse or ellipse arc.
 */
export declare class AcApEllipseCmd extends AcEdCommand {
    /**
     * Creates ELLIPSE command instance.
     */
    constructor();
    /**
     * Command entry point.
     *
     * Supported branches:
     * - Axis endpoint workflow
     * - Center-first workflow
     * - Arc-prefixed variants for ellipse arc creation
     *
     * @param context - Current application/document context.
     */
    execute(context: AcApContext): Promise<void>;
    /**
     * Adds one localized keyword to a point prompt.
     *
     * @param prompt - Target point prompt.
     * @param key - Keyword i18n key suffix.
     */
    private addKeyword;
    /**
     * Appends final ellipse entity to model space.
     *
     * @param context - Current application/document context.
     * @param definition - Ellipse geometric definition to append.
     */
    private appendEllipse;
    /**
     * Emits one warning message for invalid ellipse input.
     *
     * @param key - Invalid-input category key.
     */
    private warnInvalidInput;
    /**
     * Runs `Arc` entry branch where user can provide axis endpoints or center.
     *
     * @param context - Current application/document context.
     */
    private runArcEntryFlow;
    /**
     * Runs center-first workflow:
     * center -> first axis endpoint -> other axis/rotation -> optional arc angles.
     *
     * @param context - Current application/document context.
     * @param arcMode - Whether to continue into arc-angle prompts.
     */
    private runCenterFlow;
    /**
     * Runs axis-endpoint workflow:
     * first axis endpoint -> second axis endpoint -> other axis/rotation.
     *
     * @param context - Current application/document context.
     * @param firstAxisEndpoint - First endpoint of major/minor axis line.
     * @param arcMode - Whether to continue into arc-angle prompts.
     */
    private runAxisEndFlow;
    /**
     * Prompts for the second axis radius by point or rotation angle option.
     *
     * In arc mode, this method also continues into arc start/end angle prompts.
     *
     * @param context - Current application/document context.
     * @param center - Ellipse center point.
     * @param firstAxisUnit - Unit direction of first specified axis.
     * @param firstAxisRadius - Radius length along first specified axis.
     * @param arcMode - Whether to return an ellipse arc definition.
     * @returns Final ellipse definition, or `undefined` on cancel/invalid.
     */
    private promptOtherAxis;
    /**
     * Prompts start and end angles for ellipse-arc creation.
     *
     * @param context - Current application/document context.
     * @param baseEllipse - Base full-ellipse definition before arc trimming.
     * @returns Arc ellipse definition, or `undefined` when canceled.
     */
    private promptArcAngles;
}
//# sourceMappingURL=AcApEllipseCmd.d.ts.map