import { TypedPostNode, TypedPostNodeContext } from './_Base';
import { NodeParamsConfig } from '../utils/params/ParamsConfig';
import { EffectPass } from 'postprocessing';
declare class OutlinePostParamsConfig extends NodeParamsConfig {
    /** @param object mask of the objects that will have an outline */
    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 edgeStrenth */
    edgeStrength: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FLOAT>;
    /** @param blur */
    blur: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>;
    kernelSize: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.INTEGER>;
    /** @param defines if the edges pulsate */
    pulseSpeed: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FLOAT>;
    /** @param visibleEdgeColor */
    visibleEdgeColor: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.COLOR>;
    /** @param shows outline for hidden parts of objects */
    xRay: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>;
    /** @param hiddenEdgeColor */
    hiddenEdgeColor: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.COLOR>;
    /** @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 OutlinePostNode extends TypedPostNode<EffectPass, OutlinePostParamsConfig> {
    paramsConfig: OutlinePostParamsConfig;
    static type(): string;
    createPass(context: TypedPostNodeContext): EffectPass;
    updatePass(pass: EffectPass): void;
    private _selectionController;
    private _setSelectedObjects;
}
export {};
