import { Constructor } from '../../types/GlobalTypes';
import { DefaultOperationParams } from '../operations/_Base';
import { Color, Group, BufferGeometry, Line, LineBasicMaterial, Mesh, MeshBasicMaterial, RectAreaLight } from 'three';
export interface AreaLightParams extends DefaultOperationParams {
    color: Color;
    intensity: number;
    width: number;
    height: number;
    showHelper: boolean;
    name: string;
}
export declare const DEFAULT_AREA_LIGHT_PARAMS: AreaLightParams;
export declare function AreaLightParamConfig<TBase extends Constructor>(Base: TBase): {
    new (...args: any[]): {
        light: import("../../engine/nodes/utils/params/ParamsConfig").ParamTemplate<import("../../engine/index_all").ParamType.FOLDER>;
        /** @param light color */
        color: import("../../engine/nodes/utils/params/ParamsConfig").ParamTemplate<import("../../engine/index_all").ParamType.COLOR>;
        /** @param light intensity */
        intensity: import("../../engine/nodes/utils/params/ParamsConfig").ParamTemplate<import("../../engine/index_all").ParamType.FLOAT>;
        /** @param grid width */
        width: import("../../engine/nodes/utils/params/ParamsConfig").ParamTemplate<import("../../engine/index_all").ParamType.FLOAT>;
        /** @param grid height */
        height: import("../../engine/nodes/utils/params/ParamsConfig").ParamTemplate<import("../../engine/index_all").ParamType.FLOAT>;
        /** @param toggle on to show helper */
        showHelper: import("../../engine/nodes/utils/params/ParamsConfig").ParamTemplate<import("../../engine/index_all").ParamType.BOOLEAN>;
        /** @param light name */
        name: import("../../engine/nodes/utils/params/ParamsConfig").ParamTemplate<import("../../engine/index_all").ParamType.STRING>;
    };
} & TBase;
export declare class CoreRectAreaLightHelper extends Group {
    light: RectAreaLight;
    readonly nodeName: string;
    _childMesh: Mesh<BufferGeometry<import("three").NormalBufferAttributes>, MeshBasicMaterial, import("three").Object3DEventMap>;
    _childLine: Line<BufferGeometry<import("three").NormalBufferAttributes>, LineBasicMaterial, import("three").Object3DEventMap>;
    constructor(light: RectAreaLight, nodeName: string);
    update(): void;
    copy(source: this, recursive?: boolean): this;
    dispose(): void;
    clone(recursive?: boolean): this;
}
