import { App } from "../core/App";
import { Point3D } from "../misc";
import { Entity } from "./Entity";
/**
 * 管道
 */
export declare class Pipe extends Entity {
    /**
     * 默认半径
     */
    static defaultRadius: number;
    /**
     * 点集
     */
    readonly points: Point3D[];
    /**
     * 贴图ID
     */
    textureId: string;
    private _material;
    private _animationSpeed;
    private _radius;
    /**
     * 是否默认隐藏
     */
    defaultHidden: boolean;
    /**
     * 实例化一个管道对象
     * @param app 应用
     */
    constructor(app: App);
    /**
     * 获取或设置动画速度
     */
    get animationSpeed(): number;
    set animationSpeed(value: number);
    /**
     * 获取或设置半径
     */
    get radius(): number;
    set radius(value: number);
    /**
     * 获取是否允许被冻结材质
     */
    get canFreezeMaterial(): boolean;
    /**
     * 序列化成JSON对象
     */
    toJson(): any;
    /**
     * 从JSON对象反序列化（仅生成层级树）
     * @param json JSON对象
     */
    fromJson(json: any): void;
    /**
     * 创建（仅当前层级可见对象）
     * @param force 是否强制
     */
    build(force?: boolean): Promise<void>;
    /**
     * 拆毁
     */
    unbuild(): void;
    /**
     * 释放
     */
    dispose(): void;
}
