import { Light } from 'three/src/lights/Light';
import { Object3D } from 'three/src/core/Object3D';
import { BaseLightHelper, BaseLightHelperObjNode } from './helpers/_BaseLightHelper';
export interface HelperConstructor<O extends Object3D, L extends Light> {
    new (node: BaseLightHelperObjNode<L>, name: string): BaseLightHelper<O, L, BaseLightHelperObjNode<L>>;
}
export declare class HelperController<O extends Object3D, L extends Light> {
    private node;
    private _helper_constructor;
    private _name;
    private _helper;
    constructor(node: BaseLightHelperObjNode<L>, _helper_constructor: HelperConstructor<O, L>, _name: string);
    initializeNode(): void;
    get helper(): BaseLightHelper<O, L, BaseLightHelperObjNode<L>> | undefined;
    get visible(): boolean;
    private _create_helper;
    update(): void;
}
