import { Component, ContextManager, Observable } from '@zcomponent/core'; export declare enum ToneMapping { NoToneMapping = "none", LinearToneMapping = "linear", ReinhardToneMapping = "reinhard", CineonToneMapping = "cineon", ACESFilmicToneMapping = "acesfilmic", CustomToneMapping = "custom" } export interface RenderSettingsConstructorProps { /** * When enabled, injects percent closer soft shadows (PCSS) into three's shader chunk. * * Toggling this property will lead to all shaders being be re-compiled. * @zprop * @zdefault false * @zgroup SoftShadows * @zgrouppriority 30 */ softShadows?: boolean; /** * Size of the light source (the larger the softer the light). * @zprop * @zdefault 25 * @zgroup SoftShadows * @zgrouppriority 30 */ shadowSize?: number; /** * Depth focus, use it to shift the focal point (where the shadow is the sharpest). * * This must be an integer value, decimals will be rounded to the nearest integer. * @zprop * @zdefault 10 * @zgroup SoftShadows * @zgrouppriority 30 */ shadowSamples?: number; /** * Observable property to set the focus depth for soft shadows. * @zprop * @zdefault 0 * @zgroup SoftShadows * @zgrouppriority 30 */ shadowFocus?: number; } /** * * Manages render settings for a 3D scene, allowing configuration of various rendering properties such as tone mapping, * object sorting, and light settings. This component interfaces with the `ThreeContext` to apply changes to the WebGLRenderer. * * * @zcomponent * @ztag three/RenderSettings * @zicon settings * @zgroup Advanced * @zparents three/Object3D/Group/** */ export declare class RenderSettings extends Component { private _context; private _softShadows; /** * * Observable property to toggle the use of legacy lighting models. When set, updates the lighting configuration in the current rendering context. * * @zprop * @zdefault false * @zgroup RenderSettings * @zgrouppriority 20 */ useLegacyLights: Observable; /** * Observable property to control the sorting of objects in the scene. Sorting affects the rendering order of objects. * @zprop * @zdefault true * @zgroup RenderSettings * @zgrouppriority 20 */ sortObjects: Observable; /** * Observable property to select the tone mapping technique used in the renderer. Supports various standard tone mapping methods. * @zprop * @zdefault acesfilmic * @zgroup RenderSettings * @zgrouppriority 20 */ toneMapping: Observable; /** * Observable property to adjust the exposure level used in tone mapping. * @zprop * @zdefault 1 * @zgroup RenderSettings * @zgrouppriority 20 */ toneMappingExposure: Observable; constructor(contextManager: ContextManager, props: RenderSettingsConstructorProps); private _reset; dispose: () => never; }