import { Constructor } from '../../../../types/GlobalTypes'; import { Material } from 'three/src/materials/Material'; import { TypedMatNode } from '../_Base'; import { BaseController } from './_BaseController'; import { NodeParamsConfig } from '../../utils/params/ParamsConfig'; export declare function DepthParamConfig(Base: TBase): { new (...args: any[]): { /** @param defines if the objects using this material will be rendered in the depth buffer. This can often helps transparent objects */ depthWrite: import("../../utils/params/ParamsConfig").ParamTemplate; /** @param toggle depth test */ depthTest: import("../../utils/params/ParamsConfig").ParamTemplate; }; } & TBase; declare const DepthParamsConfig_base: { new (...args: any[]): { /** @param defines if the objects using this material will be rendered in the depth buffer. This can often helps transparent objects */ depthWrite: import("../../utils/params/ParamsConfig").ParamTemplate; /** @param toggle depth test */ depthTest: import("../../utils/params/ParamsConfig").ParamTemplate; }; } & typeof NodeParamsConfig; declare class DepthParamsConfig extends DepthParamsConfig_base { } declare abstract class DepthMapMatNode extends TypedMatNode { depth_controller: DepthController; abstract create_material(): Material; } export declare class DepthController extends BaseController { protected node: DepthMapMatNode; constructor(node: DepthMapMatNode); update(): Promise; static update(node: DepthMapMatNode): Promise; } export {};