import { Vector3 } from 'three';
import { PromptEntityResult, PromptSsgetResult } from './PromptResult';
import { Filter } from './SelectFilter';
import { SelectType } from './SelectBox';
import { KeyWord } from '../Common/InputState';
export interface PromptOptions {
    Msg?: string;
    KeyWordList?: KeyWord[];
}
export interface GetKeyWordPrommpt extends PromptOptions {
    Default?: string;
    KeyWordList: KeyWord[];
    Modal?: boolean;
}
export interface GetStringPrompt extends PromptOptions {
    Default?: string;
}
export interface GetPointPrompt extends PromptOptions {
    BasePoint?: Vector3;
    RelativeBasePoint?: Vector3;
    Callback?: (pt: Vector3) => void;
    AllowDrawRubberBand?: Boolean;
    NotShowDynPrompt?: boolean;
    /** 如果UCS和视图平行,则不捕捉Z轴 */
    NotSnapZ?: boolean;
    AllowNone?: boolean;
    Use2DCursor?: boolean;
    DisabledSnap?: boolean;
    DisabledBasePointSupportSnap?: boolean;
}
export interface GetDistendPrompt extends PromptOptions {
    BasePoint?: Vector3;
    DisabledBasePointSupportSnap?: boolean;
    Callback?: (dist: number, pt?: Vector3) => void;
    CalcDistance?: (ptBase: Vector3, pt: Vector3) => number;
    Default?: number;
}
export interface PromptRectPointOptions extends PromptOptions {
    BasePoint?: Vector3;
}
export interface GetEntityPrompt extends PromptOptions {
    NotNone?: boolean;
    UseSelect?: boolean;
    IsSelect?: boolean;
    Filter?: Filter;
    Callback?: (res: PromptEntityResult) => void;
}
export interface GetSelectionPrompt extends PromptOptions {
    Once?: boolean;
    AllowNone?: boolean;
    UseSelect?: boolean;
    Filter?: Filter;
    SelectType?: SelectType;
    Callback?: (res: PromptSsgetResult) => void;
}
//# sourceMappingURL=PromptOptions.d.ts.map