import Overlay from "../Overlay";
import { T_Position } from "../../common/type";
/**
 * 光柱图元
 * @noInheritDoc
 * @example
 * ```ts
 * let position = new BC.Position(120, 20)
 * let cylinder = new BC.LightCylinderPrimitive(position, 1000, 1, 100)
 * ```
 */
declare class LightCylinderPrimitive extends Overlay {
    private _center;
    private _length;
    private _topRadius;
    private _bottomRadius;
    /**
     *
     * @param center 坐标
     * @param length 长度
     * @param topRadius 上半径
     * @param bottomRadius 下半径
     */
    constructor(center: T_Position, length: number, topRadius: number, bottomRadius: number);
    get type(): any;
    set center(position: T_Position);
    get center(): T_Position;
    set length(length: number);
    get length(): number;
    set topRadius(topRadius: number);
    get topRadius(): number;
    set bottomRadius(bottomRadius: number);
    get bottomRadius(): number;
    /**
     *
     * @param center
     * @param radius
     * @private
     */
    private _computeEllipsePositions;
    /**
     *
     * @param topPts
     * @param bottomPts
     * @param height
     */
    private _createCylinderInstance;
    /**
     *
     * @private
     */
    private _getCircleImage;
    /**
     *
     * @param image
     * @private
     */
    private _getParticlesImage;
    /**
     *
     * @private
     */
    private _updatePrimitives;
    /**
     *
     * @private
     */
    _mountedHook(): void;
    /**
     *
     * @param frameState
     */
    update(frameState: any): void;
    /**
     * 设置风格
     * @param style
     * @example
     * ```json
     * // 样式参数(可选)
     * {
     *   "color": BC.Color.BLACK //颜色
     * }
     * ```
     */
    setStyle(style: any): this;
    destroy(): void;
}
export default LightCylinderPrimitive;
