/**
 * Uses a flat mesh and renders a mirror on it.
 *
 *
 */
import { TypedSopNode } from './_Base';
import { CoreGroup } from '../../../core/geometry/Group';
import { NodeParamsConfig } from '../utils/params/ParamsConfig';
import { SopType } from '../../poly/registers/nodes/types/Sop';
import { Object3D } from 'three';
declare class ReflectorSopParamsConfig extends NodeParamsConfig {
    /** @param direction the objects reflects */
    direction: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.VECTOR3>;
    /** @param direction offset */
    directionOffset: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FLOAT>;
    /** @param when active is off, the mirror is not rendered */
    active: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>;
    /** @param bias to ensure the mirror does not reflect itself */
    clipBias: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FLOAT>;
    /** @param color */
    color: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.COLOR>;
    /** @param useVertexColor */
    useVertexColor: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>;
    /** @param reflectionBlend */
    reflectionBlend: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FLOAT>;
    /** @param pixelRatio */
    /** @param opacity */
    opacity: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FLOAT>;
    pixelRatio: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.INTEGER>;
    /** @param multisamples */
    multisamples: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.INTEGER>;
    /** @param toggle to activate blur */
    tblur: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>;
    /** @param blur amount */
    blur: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FLOAT>;
    /** @param vertical blur multiplier */
    verticalBlurMult: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FLOAT>;
    /** @param toggle to activate a second blur, which can be useful to reduce artefacts */
    tblur2: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>;
    /** @param blur2 amount */
    blur2: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FLOAT>;
    /** @param vertical blur2 multiplier */
    verticalBlur2Mult: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FLOAT>;
}
export declare class ReflectorSopNode extends TypedSopNode<ReflectorSopParamsConfig> {
    paramsConfig: ReflectorSopParamsConfig;
    static type(): SopType;
    initializeNode(): void;
    cook(inputCoreGroups: CoreGroup[]): void;
    updateObjectOnAdd(object: Object3D, parent: Object3D): void;
}
export {};
