import type { CollectedLight, CollectedLightKind } from "./LightCollector";
export type LightingRigPreset = "key-fill-rim" | "studio-softbox" | "sun" | "industrial" | "urban-neon" | "product-detail" | "product-shot";
export type LightingRigUnsupportedFeature = "rectangular-area-light" | "ies-photometric-profile" | "contact-shadow-map" | "cascaded-shadow-map" | "global-illumination";
export interface LightingRigLightDescriptor {
    readonly id: string;
    readonly kind: CollectedLightKind;
    readonly role: "key" | "fill" | "rim" | "sun" | "accent" | "practical" | "ambient-proxy";
    readonly color: readonly [number, number, number];
    readonly intensity: number;
    readonly position: readonly [number, number, number];
    readonly direction: readonly [number, number, number];
    readonly range: number;
    readonly spotAngle: number;
    readonly penumbra: number;
    readonly castsShadow: boolean;
    readonly claimBoundary: string;
}
export interface LightingRigSoftboxDescriptor {
    readonly id: string;
    readonly role: "key" | "fill" | "rim";
    readonly color: readonly [number, number, number];
    readonly intensity: number;
    readonly position: readonly [number, number, number];
    readonly direction: readonly [number, number, number];
    readonly size: readonly [number, number];
    readonly linkedLightIds: readonly string[];
    readonly claimBoundary: string;
}
export interface LightingRigDiagnostics {
    readonly preset: LightingRigPreset;
    readonly lightCount: number;
    readonly shadowCastingLightCount: number;
    readonly softboxProxyCount: number;
    readonly unsupportedFeatures: readonly LightingRigUnsupportedFeature[];
    readonly disclosures: readonly string[];
    readonly claimBoundary: string;
}
export interface LightingRig {
    readonly preset: LightingRigPreset;
    readonly lights: readonly LightingRigLightDescriptor[];
    readonly softboxes: readonly LightingRigSoftboxDescriptor[];
    readonly collectedLights: readonly CollectedLight[];
    readonly diagnostics: LightingRigDiagnostics;
}
export interface LightingRigOptions {
    readonly preset?: LightingRigPreset;
    readonly intensityScale?: number;
    readonly shadows?: boolean;
    readonly includeUnsupportedDiagnostics?: boolean;
}
export declare function createLightingRig(options?: LightingRigOptions): LightingRig;
export declare function listLightingRigPresets(): readonly LightingRigPreset[];
//# sourceMappingURL=LightingRig.d.ts.map