import { type IMaterialAbstractData, type IViewportApi } from "@shapediver/viewer"; import { type IIntersectionDefinition, type IRay, type IRayTracingIntersection } from "@shapediver/viewer.shared.types"; import { INTERACTION_STATE } from "../../interfaces/IInteractionEngine"; import { type IInteractionFilterOptions } from "../../interfaces/IInteractionManager"; import { type IInteractionEffect } from "../../interfaces/utils/IInteractionEffectUtils"; import { AbstractInteractionManager } from "../AbstractInteractionManager"; export declare class SelectManager extends AbstractInteractionManager { #private; constructor(id?: string, interactionEffect?: IInteractionEffect | IMaterialAbstractData, deselectOnEmpty?: boolean, selectOn?: "up" | "down"); get deselectOnEmpty(): boolean; set deselectOnEmpty(value: boolean); get filter(): IInteractionFilterOptions; get removalKey(): string; set removalKey(value: string); add(viewport: IViewportApi): void; /** * Deselect the current node. */ deselect(): void; onDown(event: PointerEvent, ray: IRay, intersection: IIntersectionDefinition[]): void; onEnd(event: PointerEvent, ray: IRay, intersection: IIntersectionDefinition[], endState: INTERACTION_STATE): void; onKeyDown(event: KeyboardEvent, pointerInCanvas: boolean): void; onKeyUp(event: KeyboardEvent, pointerInCanvas: boolean): void; onMove(event: PointerEvent, ray: IRay, intersection: IIntersectionDefinition[]): void; remove(): void; /** * Select a node. * The point and distance of the intersection can be freely chosen and are provided in the event callbacks. * * @param intersection */ select(intersection: Omit): void; /** * Utility function to make the node the current active node. * Set the according values, apply the effect and emit the event. * * @param intersection * @param event * @param ray */ private activateNode; /** * Utility function to make the node inactive. * Set the according values, remove the effect and emit the event. * * @param event */ private deactivateNode; private handleIntersection; } //# sourceMappingURL=SelectManager.d.ts.map