/**
 * Adds post processing effects to a camera
 *
 *
 */
import { TypedSopNode } from './_Base';
import { CoreGroup } from '../../../core/geometry/Group';
import { HierarchyParamConfigAll } from '../utils/params/ParamsConfig';
import { CameraSopNodeType, NodeContext } from '../../poly/NodeContext';
import { PostNodeChildrenMap } from '../../poly/registers/nodes/Post';
import { NodeCreateOptions } from '../utils/hierarchy/ChildrenController';
import { Constructor, valueof } from '../../../types/GlobalTypes';
import { BasePostProcessNodeType } from '../post/_Base';
import { EffectComposerController, PostProcessingTextureType } from '../post/utils/EffectComposerController';
import { DisplayNodeController } from '../utils/DisplayNodeController';
export declare function CameraPostProcessParamsMixin<TBase extends Constructor>(Base: TBase): {
    new (...args: any[]): {
        /** @param set to true to define the post process nodes from a different node than this one */
        useOtherNode: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>;
        /** @param other parent node containing the post process nodes that will make up the passes used */
        node: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.NODE_PATH>;
    };
} & TBase;
declare const CameraPostProcessSopParamsConfig_base: {
    new (...args: any[]): {
        prependRenderPass: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>;
        depthBuffer: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>;
        stencilBuffer: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>;
        sampling: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.INTEGER>;
        tTextureType: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>;
        textureType: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.INTEGER>;
    };
} & {
    new (...args: any[]): {
        /** @param set to true to define the post process nodes from a different node than this one */
        useOtherNode: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>;
        /** @param other parent node containing the post process nodes that will make up the passes used */
        node: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.NODE_PATH>;
    };
} & typeof HierarchyParamConfigAll;
declare class CameraPostProcessSopParamsConfig extends CameraPostProcessSopParamsConfig_base {
}
export declare class CameraPostProcessSopNode extends TypedSopNode<CameraPostProcessSopParamsConfig> {
    readonly paramsConfig: CameraPostProcessSopParamsConfig;
    static type(): CameraSopNodeType;
    protected initializeNode(): void;
    private _operation;
    cook(inputCoreGroups: CoreGroup[]): void;
    setTextureType(textureType: PostProcessingTextureType): void;
    readonly effectsComposerController: EffectComposerController;
    readonly displayNodeController: DisplayNodeController;
    protected _childrenControllerContext: NodeContext;
    createNode<S extends keyof PostNodeChildrenMap>(node_class: S, options?: NodeCreateOptions): PostNodeChildrenMap[S];
    createNode<K extends valueof<PostNodeChildrenMap>>(node_class: Constructor<K>, options?: NodeCreateOptions): K;
    children(): BasePostProcessNodeType[];
    nodesByType<K extends keyof PostNodeChildrenMap>(type: K): PostNodeChildrenMap[K][];
}
export {};
