import { type IViewportApi } from "@shapediver/viewer"; import { RestrictionManager } from "@shapediver/viewer.rendering-engine.intersection-restriction-engine"; import { type ITreeNode } from "@shapediver/viewer.shared.node-tree"; import { Logger } from "@shapediver/viewer.shared.services"; import { type IInteractionTypes } from "../../interfaces/IInteractionData"; import { INTERACTION_STATE } from "../../interfaces/IInteractionEngine"; import { type IInteractionFilterOptions } from "../../interfaces/IInteractionManager"; import { type IInteractionEffect, type IInteractionEffectUtils } from "../../interfaces/utils/IInteractionEffectUtils"; import { InteractionData } from "../InteractionData"; export declare class InteractionManagerUtils { /** * Apply interaction effects to node and grouped nodes */ static applyInteractionEffects(node: ITreeNode, groupedNodes: ITreeNode[] | undefined, interactionEffect: IInteractionEffect | undefined, interactionEffectUtils: IInteractionEffectUtils): { token?: string; groupTokens: string[]; }; /** * Common filter implementation */ static createInteractionFilter(interactionType: keyof IInteractionTypes, managerId: string, targetStates: INTERACTION_STATE[]): IInteractionFilterOptions; /** * Common getInteractionData implementation */ static getInteractionData(node: ITreeNode, restrictions: boolean, managerId: string, interactionType: keyof IInteractionTypes): InteractionData | undefined; /** * Remove interaction effects from node and grouped nodes */ static removeInteractionEffects(node: ITreeNode, groupedNodes: ITreeNode[] | undefined, token: string | undefined, groupTokens: string[], interactionEffectUtils: IInteractionEffectUtils): void; /** * Update viewport for node and grouped nodes */ static updateViewport(viewport: IViewportApi, node: ITreeNode, groupedNodes?: ITreeNode[], updateNodes?: boolean): void; /** * Validates restriction manager and logs warning if not set */ static validateRestrictionManager(restrictionManager: RestrictionManager | undefined, logger: Logger): restrictionManager is RestrictionManager; /** * Validates viewport and logs warning if not set */ static validateViewport(viewport: IViewportApi | undefined, logger: Logger): viewport is IViewportApi; } //# sourceMappingURL=InteractionManagerUtils.d.ts.map