import type { _MDLPhysicallyPlausibleLight } from "./MDLPhysicallyPlausibleLight.js";
import type { _MDLTexture } from "./MDLTexture.js";
import type { _NSData } from "../Foundation/NSData.js";
import type { _NSURL } from "../Foundation/NSURL.js";
export declare class _MDLPhotometricLight extends _MDLPhysicallyPlausibleLight {
    static alloc(): _MDLPhotometricLight;
    static new(): _MDLPhotometricLight;
    init(): _MDLPhotometricLight;
    /**
     * Init with an IES profile file, generate a light web of specified width and height
     */
    initWithIESProfile$(URL: _NSURL): _MDLPhotometricLight | null;
    generateSphericalHarmonicsFromLight$(sphericalHarmonicsLevel: number): void;
    generateCubemapFromLight$(textureSize: number): void;
    /**
     * @method generateTexture @abstract Generate an IES compliant MDLTexture 1D when the number of horizontal angles is one and the innerConeAngle is < 180 2D when the previous statement fails and innerConeAngle < 89 3D in all other cases the parameter textureSize is the size in pixels of the texture image. For a size of N, 1D generates an Nx1 image, 2D generates an NxN image, 3D generates an Nx(N*6) image (i.e. cubemap).
     */
    generateTexture$(textureSize: number): _MDLTexture;
    lightCubeMap(): _MDLTexture | null;
    sphericalHarmonicsLevel(): number;
    sphericalHarmonicsCoefficients(): _NSData | null;
}
