import { Category, PipeWire, SpaceWire, WallWire } from 'sadi-sdk-ts';
/**
 * 空间
 */
import * as sadi from 'sadi-sdk-ts';
export declare class Space {
    scene: sadi.Scene;
    constructor(scene: sadi.Scene);
    /**
     *
     * 根据index展示空间
     */
    showSpaceByIndexs: (spaceIndexs: number[], opts?: {
        hideBefore: boolean;
    }) => void;
    /**
     * 隐藏空间
     */
    hideSpace: () => void;
    /**
     * 根据index隐藏空间
     */
    hideSpaceByIndexs: (spaceIndexs: number[]) => void;
    /**
     * 获取所有空间
     */
    getAllSpace: () => sadi.Element[];
    /**
     * 绘制空间
     */
    drawSpace: (flag: boolean) => Promise<unknown>;
    /**
     * 创建空间
     */
    createSpace: (id: number) => Promise<unknown>;
    /**
     *
     * 清空线条
     */
    clearLine(): void;
    /**
     * 关闭坐标轴
     */
    closeAxis(): void;
    /**
     * 修改空间的高度
     */
    modifySpaceHeight: (heightVal: number) => void;
    /**
     * 绘制墙
     */
    drawWall: (flag: boolean) => Promise<sadi.IExtrusionWire>;
    /**
     * 创建墙
     */
    createWall: (id: number) => Promise<sadi.Element>;
    /**
     * 修改墙的高度
     */
    modifyWallHeight: (heightVal: number) => void;
    /**
     * 修改墙的厚度
     */
    modifyWallGauge: (gaugeVal: number) => void;
    /**
     * 修改管道直径
     */
    modifyPipeDiameter: (gaugeVal: number) => void;
    /**
     * 开启管道绘制
     */
    drawPipeOpen: (flag: boolean) => Promise<unknown>;
    /**
     *绘制管道
     */
    drawPipe: () => Promise<unknown>;
    /**计算中心坐标位置 */
    private calculateAverage;
    private calculateTotalDistance;
    private calculateDistance;
    /**
     * 创建管道
     */
    createPipe: (id: number) => Promise<sadi.Element>;
    /**
     * 创建构件
     */
    createComponent(id: number, geo: any, type: Category, color: sadi.Color): sadi.Element;
    /**
     * 获取管道长度
     */
    getPipeLen(): {};
    /**
     * 取消创建
     */
    cancelCreate(currentWall: WallWire | PipeWire | SpaceWire): void;
    /**
     * 定位
     */
    postionElement(element: sadi.Element | sadi.Element[]): void;
}
