import { App } from '../core/App';
import { Wall } from './Wall';
import { Corner } from './Corner';
import { TransformNode } from '../runtime';
import { ManualWallBuilder } from './ManualWallBuilder';
/**
 * 手绘墙
 */
export declare class ManualWall extends Wall {
    /**
     * 普通墙截面演示（默认科技风）
     */
    static sectionColor: string;
    /**
     * 左面贴图唯一编号
     */
    leftTextureId: string;
    /**
     * 右面贴图唯一编号
     */
    rightTextureId: string;
    /**
     * 建造器
     */
    builder: ManualWallBuilder;
    /**
     * 独立网格的父节点
     */
    independentMeshNode: TransformNode;
    /**
     * 实例化一个手绘墙对象
     * @param app 应用
     */
    constructor(app: App);
    /**
     * 获取实例类型
     */
    get instanceClass(): any;
    /**
     * 找两面墙的相交墙角，有则表示相交，否则表示未相交
     * @param other 另一面墙
     */
    getSameCorner(other: ManualWall): Corner | null;
    /**
     * 获取与另一面墙的夹角（当前墙到另一面墙的逆时针夹角）
     * @param {ManualWall} other 另一面墙
     */
    getAngle(other: ManualWall): number;
    /**
     * 获取指定墙角的左面邻居
     * @param {Corner} corner 墙角
     */
    getLeftNeighbor(corner: Corner): ManualWall | null;
    /**
     * 获取指定墙角的右面邻居
     * @param {Corner} corner 墙角
     */
    getRightNeighbor(corner: Corner): ManualWall | null;
    /**
     * 序列化成JSON对象
     */
    toJson(): any;
    /**
     * 从JSON对象反序列化（仅生成层级树）
     * @param {*} json JSON对象
     */
    fromJson(json: any): void;
    /**
     * 创建（仅当前层级可见对象）
     * @param {boolean} force 是否强制
     */
    build(force?: boolean): Promise<void>;
    /**
     * 拆毁（删掉网格，仅保留层级树）
     */
    unbuild(): void;
    /**
     * 释放
     */
    dispose(): void;
    /**
     * 计算包围盒
     */
    computeBoundingInfo(): void;
}
