import { AcDbSpline, AcGePoint2d, AcGePoint2dLike } from '@mlightcad/data-model'; import { AcApContext } from '../../app'; import { AcEdBaseView, AcEdCommand, AcEdPreviewJig } from '../../editor'; type AcApSplineMethod = 'fit' | 'cv'; type AcApSplineKnotsType = 'chord' | 'sqrtChord' | 'uniform'; interface AcApSplineSettings { method: AcApSplineMethod; knotsType: AcApSplineKnotsType; degree: number; } /** * Dynamic preview jig for SPLINE command. * * Reuses a transient spline entity and rebuilds it on each cursor move. */ export declare class AcApSplineJig extends AcEdPreviewJig { /** * Transient spline entity shown during preview. */ private _spline; /** * Fixed accepted points collected so far. */ private _points; /** * Current spline construction settings. */ private _settings; /** * Whether final spline should be closed. */ private _closed; /** * Creates a dynamic spline preview jig. * * @param view - Active editor view. * @param points - Accepted points before the dynamic cursor point. * @param settings - Current method/degree/knots settings. * @param closed - Closed flag used for preview behavior. */ constructor(view: AcEdBaseView, points: AcGePoint2d[], settings: AcApSplineSettings, closed: boolean); /** * Gets transient spline entity used by this jig. */ get entity(): AcDbSpline; /** * Rebuilds preview spline by combining fixed points with cursor point. * * @param point - Current cursor/input point. */ update(point: AcGePoint2dLike): void; /** * Creates initial spline entity from current settings. * * @param points - Initial fixed points. * @returns New spline entity. */ private createSpline; /** * Rebuilds existing transient spline without replacing entity instance. * * @param points - Point list used for rebuild. */ private rebuildSpline; } /** * Command to create one spline. */ export declare class AcApSplineCmd extends AcEdCommand { /** * Creates SPLINE command instance. */ constructor(); /** * Command entry point. * * Uses a point-prompt state machine to support Fit/CV workflows, dynamic * method switching, undo, close, and option prompts. * * @param context - Current application/document context. */ execute(context: AcApContext): Promise; } export {}; //# sourceMappingURL=AcApSplineCmd.d.ts.map