import { type ITreeNode } from "@shapediver/viewer.shared.node-tree"; import { OutlineEffect } from "postprocessing"; import { RenderingEngine } from "../../RenderingEngine"; export declare class OutlineManager { private readonly _renderingEngine; private _outlineEffect; private _outlineNodes; private _separateObjects; private _perNodeEffects; private _onEffectsChanged?; constructor(_renderingEngine: RenderingEngine); addSelection(node: ITreeNode): void; clearSelection(): void; /** * Called by PostProcessingManager during changeEffectPass to configure the * rendering mode and register the callback that rebuilds the effect pass * when the node selection changes. */ configure(separateObjects: boolean, onEffectsChanged: () => void): void; removeSelection(node: ITreeNode): boolean; /** Used in the default grouped mode. */ setEffect(outlineEffect: OutlineEffect): void; /** * Used in separateObjects mode. PostProcessingManager passes a fresh * per-node map each time it rebuilds the effect pass. */ setPerNodeEffects(effects: Map): void; updateOutlineEffectObjects(): void; selectedNodes(): ITreeNode[]; } //# sourceMappingURL=OutlineManager.d.ts.map