/**
 * creates a render pass
 *
 *
 */
import { TypedPostNode, TypedPostNodeContext } from './_Base';
import { RenderPass } from 'postprocessing';
import { NodeParamsConfig } from '../utils/params/ParamsConfig';
import { Scene } from 'three';
import { Camera } from 'three';
interface RenderPassContext {
    camera: Camera;
    scene: Scene;
}
declare class RenderPassWithContext extends RenderPass {
    scene: Scene;
    camera: Camera;
    context: RenderPassContext;
    constructor(scene: Scene, camera: Camera);
}
declare class RenderPostParamsConfig extends NodeParamsConfig {
    /** @param overrideScene */
    overrideScene: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>;
    /** @param scene */
    scene: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.NODE_PATH>;
    /** @param overrideCamera */
    overrideCamera: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>;
    /** @param camera */
    camera: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.STRING>;
}
export declare class RenderPostNode extends TypedPostNode<RenderPass, RenderPostParamsConfig> {
    paramsConfig: RenderPostParamsConfig;
    static type(): string;
    createPass(context: TypedPostNodeContext): RenderPassWithContext;
    updatePass(pass: RenderPassWithContext): void;
    protected _updateCamera(pass: RenderPassWithContext): Promise<void>;
    protected _updateScene(pass: RenderPassWithContext): Promise<void>;
}
export {};
