import { TypedPostNode, TypedPostNodeContext } from './_Base';
import { NodeParamsConfig } from '../utils/params/ParamsConfig';
import { EffectPass } from 'postprocessing';
declare class BloomPostParamsConfig extends NodeParamsConfig {
    /** @param defines if this node applies a bloom to the whole scene or just a selection. Note that for now, it is necessary to reload your scene when toggling this parameter */
    useObjectMask: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>;
    /** @param object mask of the objects that will be used for the bloom */
    objectsMask: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.STRING>;
    /** @param updates the cached objects found by objectMask  */
    refreshObjects: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BUTTON>;
    /** @param effect strength */
    strength: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FLOAT>;
    /** @param effect threshold */
    threshold: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FLOAT>;
    /** @param effect scale */
    scale: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FLOAT>;
    /** @param effect radius */
    /** @param kernel size */
    kernelSize: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.INTEGER>;
    /** @param effect luminance Smoothing */
    luminanceSmoothing: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FLOAT>;
    /** @param resolutionScale */
    resolutionScale: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FLOAT>;
    /** @param opacity */
    opacity: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FLOAT>;
    /** @param render mode */
    blendFunction: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.INTEGER>;
}
export declare class BloomPostNode extends TypedPostNode<EffectPass, BloomPostParamsConfig> {
    paramsConfig: BloomPostParamsConfig;
    static type(): string;
    private _rendererSize;
    createPass(context: TypedPostNodeContext): EffectPass;
    updatePass(pass: EffectPass): void;
    private __selectionController;
    private _selectionController;
    private _setSelectedObjects;
}
export {};
