import { Matrix4, Object3D, Vector3 } from "three";
import { ObjectSnapMode } from "../../Editor/ObjectSnapMode";
import { RenderType } from "../../GraphicsSystem/RenderType";
import { CADFiler } from "../CADFiler";
import { Light } from "./Light";
export declare class SpotLight extends Light {
    /**
     * If non-zero, light will attenuate linearly from maximum intensity at light position down to zero at distance.
     * Default — 0.0.
     */
    private m_Distance;
    private m_Decay;
    private m_Angle;
    private m_Penumbra;
    private m_Target;
    protected _ShowHelper: boolean;
    get Target(): Vector3;
    set Target(v: Vector3);
    get Angle(): number;
    set Angle(rad: number);
    get Decay(): number;
    set Decay(decay: number);
    get Distance(): number;
    set Distance(dist: number);
    get Penumbra(): number;
    set Penumbra(v: number);
    get EndPoint(): Vector3;
    ApplyMatrix(m: Matrix4): this;
    GetGripPoints(): Array<Vector3>;
    MoveGripPoints(indexList: number[], vec: Vector3): void;
    GetStretchPoints(): Array<Vector3>;
    MoveStretchPoints(indexList: Array<number>, vec: Vector3): void;
    GetObjectSnapPoints(snapMode: ObjectSnapMode, pickPoint: Vector3, lastPoint: Vector3): Vector3[];
    protected InitDrawObject(renderType?: RenderType): Object3D;
    UpdateDrawObject(type: RenderType, en: Object3D): void;
    protected _ReadFile(file: CADFiler): void;
    WriteFile(file: CADFiler): void;
}
//# sourceMappingURL=SpotLight.d.ts.map