import { type IViewportApi } from "@shapediver/viewer"; import { type IInteractionEngine } from "../interfaces/IInteractionEngine"; import { type IInteractionManager } from "../interfaces/IInteractionManager"; export interface IInteractionEngineProperties { /** * The opacity from which the intersection is considered. (default: 0) */ intersectionOpacity: number; /** * The percentage of the scene size for the intersection of lines. (default: 0.025 = 2.5%) */ lineIntersectionPercentage: number; /** * The percentage of the scene size for the intersection of points. (default: 0.025 = 2.5%) */ pointIntersectionPercentage: number; } export declare class InteractionEngine implements IInteractionEngine { #private; constructor(viewport: IViewportApi, props?: Partial); get closed(): boolean; get intersectionOpacity(): number; set intersectionOpacity(value: number); get lineIntersectionPercentage(): number; set lineIntersectionPercentage(value: number); get managers(): { [key: string]: IInteractionManager; }; get pointIntersectionPercentage(): number; set pointIntersectionPercentage(value: number); addInteractionManager(manager: IInteractionManager): string; close(): void; onKeyDown(event: KeyboardEvent, pointerInCanvas: boolean): void; onKeyUp(event: KeyboardEvent, pointerInCanvas: boolean): void; onMouseWheel(event: WheelEvent): void; onPointerDown(event: PointerEvent): void; onPointerEnd(event: PointerEvent): void; onPointerMove(event: PointerEvent): void; onPointerOut(event: PointerEvent): void; onPointerUp(event: PointerEvent): void; removeInteractionManager(token: string): boolean; /** * Apply all filters for the intersection of the scene. * Call all according interaction managers with the results. * * @param ray */ private onDown; /** * Apply all filters for the intersection of the scene. * Call all according interaction managers with the results. * * @param ray */ private onEnd; /** * Apply all filters for the intersection of the scene. * Call all according interaction managers with the results. * * @param ray */ private onMove; private updateIntersectionThresholds; } //# sourceMappingURL=InteractionEngine.d.ts.map