import { Color, ColorRepresentation, PointLight, PointLightShadow, Vector2, Vector3 } from 'three';
import { ILight } from './ILight';
import { IObject3D } from '../IObject';
import { UiObjectConfig } from 'uiconfig.js';
/**
 * Extension of three.js PointLight with additional properties for serialization and UI
 * A point light emits light in all directions from a single point in space.
 *
 * Note - gltf serialization is handled by {@link GLTFLightExtrasExtension}
 *
 * @category Lights
 */
export declare class PointLight2 extends PointLight implements ILight<PointLightShadow> {
    assetType: "light";
    setDirty: (this: ILight, options?: import('../IObject').IObjectSetDirtyOptions, ...args: any[]) => void;
    refreshUi: (this: IObject3D) => void;
    uiConfig: UiObjectConfig;
    readonly isPointLight2 = true;
    visible: boolean;
    name: string;
    color: Color;
    intensity: number;
    distance: number;
    decay: number;
    power: number;
    readonly position: Vector3;
    castShadow: boolean;
    shadowMapSize: Vector2;
    /**
     * @internal
     */
    ['_mapSizeChanged'](): void;
    shadowBias: number;
    shadowRadius: number;
    shadowNear: number;
    shadowFar: number;
    shadowAspect: number;
    shadowFov: number;
    protected _shadowCamUpdate(change?: string): void;
    constructor(color?: ColorRepresentation, intensity?: number, distance?: number, decay?: number);
    autoScale(): void;
    autoCenter(): void;
    /**
     * @deprecated use `this` instead
     */
    get lightObject(): this;
    /**
     * @deprecated use `this` instead
     */
    get modelObject(): this;
    traverse: (callback: (object: IObject3D) => void) => void;
    traverseVisible: (callback: (object: IObject3D) => void) => void;
    traverseAncestors: (callback: (object: IObject3D) => void) => void;
    getObjectById: (id: number) => IObject3D | undefined;
    getObjectByName: (name: string) => IObject3D | undefined;
    getObjectByProperty: (name: string, value: string) => IObject3D | undefined;
    parent: IObject3D | null;
    children: IObject3D[];
}
//# sourceMappingURL=../../src/core/light/PointLight2.d.ts.map