import { CADFiler } from "../DatabaseServices/CADFiler";
import { Entity } from "../DatabaseServices/Entity/Entity";
/**
 * # Example:
```
  // 1.开始拽拖:->
  // 得到临时对象,如果en是已经存在的对象,那么将会被临时修改材质
  let jigEnt = Jig.Draw(en);
  // 2.拽拖中:->  ....拽拖代码.更新jigEnt,你可以临时调用Jig.Destroy();
  ...
  // 3.结束拽拖:
  Jig.End();
```
 */
export declare class Jig {
    private m_JigEnts;
    EntityCacheData: {
        Ent: Entity;
        File: CADFiler;
    }[];
    private m_OrgEntitys;
    End(): void;
    /**
     * 还原源对象的材质
     */
    RestoreOriginEntity(): void;
    /**
     * 将在视图中绘制该对象.
     * 如果该对象已经存在图纸:那么将被拷贝,并且暂时暗显示,并且缓存原始数据,以便还原.
     * @param {Entity} enOrg 源实体
     */
    Draw<T extends Entity>(enOrg: T, fast?: boolean): T;
    /**
     * 还原拽拖的实体到初始化状态.
     * @memberof Jig
     */
    Restore(): void;
    /**
     * 销毁临时对象,如果临时对象被加入到图纸,那么将不会被销毁.
     */
    Destroy(): void;
}
//# sourceMappingURL=Jig.d.ts.map