import { Vector3 } from 'three';
import { EditorService } from './Editor';
import { ObjectSnapMode } from './ObjectSnapMode';
import { GetPointPrompt } from "./PromptOptions";
import { PromptPointResult } from './PromptResult';
import { SnapServices } from './SnapServices';
/**
 * 为拾取点提供服务,提供一个类以供Editor引用.
 */
export declare class GetPointServices implements EditorService {
    IsReady: boolean;
    Doit(e: MouseEvent): Promise<boolean>;
    private promisResolve;
    protected removeCalls: Function[];
    snapServices: SnapServices;
    snapModeCurrent: ObjectSnapMode;
    private _prompt;
    Start(prompt?: GetPointPrompt): Promise<PromptPointResult>;
    private handleRightClick;
    Cancel(): void;
    private curPoint;
    private curPointIsSnap;
    private lastPoint;
    UpdateCurPointEvent(): void;
    private initUpdateCurPoint;
    private initHandleKeyDown;
    private initHandleMouseDown;
    private initHandleMouseMove;
    private initDrawRubberBand;
    private initHandleInput;
    private initPrompt;
    protected initDynInput(prompt: GetPointPrompt): void;
    private ReturnNone;
    private UpdatePointOfRelative;
    protected ReturnPoint(p: Vector3, snapMode?: ObjectSnapMode): void;
    protected ReturnKeyword(keyword: string): void;
    protected ReturnResult(retValue: PromptPointResult): void;
    private _oldIsThreeState;
    private initState;
    private RestState;
}
//# sourceMappingURL=GetPointServices.d.ts.map