import { type IMaterialAbstractData, type ITreeNode, type IViewportApi } from "@shapediver/viewer"; import { type IIntersectionDefinition, type IRay } from "@shapediver/viewer.shared.types"; import { INTERACTION_STATE } from "../interfaces/IInteractionEngine"; import { type IInteractionFilterOptions, type IInteractionManager } from "../interfaces/IInteractionManager"; import { type IInteractionEffect, type IInteractionEffectUtils } from "../interfaces/utils/IInteractionEffectUtils"; export declare abstract class AbstractInteractionManager implements IInteractionManager { #private; abstract filter: IInteractionFilterOptions; constructor(id?: string, interactionEffect?: IInteractionEffect | IMaterialAbstractData); get effectMaterial(): IMaterialAbstractData | undefined; set effectMaterial(value: IMaterialAbstractData | undefined); get gatheredGroupedNodes(): { [key: string]: ITreeNode[]; }; get id(): string; get interactionEffect(): IInteractionEffect | undefined; set interactionEffect(value: IInteractionEffect | undefined); get occludeBySceneGeometry(): boolean; set occludeBySceneGeometry(value: boolean); get interactionEffectUtils(): IInteractionEffectUtils; set interactionEffectUtils(value: IInteractionEffectUtils); get viewport(): IViewportApi | undefined; set viewport(value: IViewportApi | undefined); abstract add(viewport: IViewportApi): void; abstract onDown(event: PointerEvent, ray: IRay, intersection: IIntersectionDefinition[]): void; abstract onEnd(event: PointerEvent, ray: IRay, intersection: IIntersectionDefinition[], endState: INTERACTION_STATE): void; abstract onKeyDown(event: KeyboardEvent, pointerInCanvas: boolean): void; abstract onKeyUp(event: KeyboardEvent, pointerInCanvas: boolean): void; abstract onMove(event: PointerEvent, ray: IRay, intersection: IIntersectionDefinition[]): void; abstract remove(): void; private gatherGroupNodes; } //# sourceMappingURL=AbstractInteractionManager.d.ts.map