import { Object3D } from "three";
import { Behaviour } from "./Component.js";
import { EventList } from "./EventList.js";
/**
 * @category Interactivity
 * @group Components
 */
export declare class SpatialTriggerReceiver extends Behaviour {
    triggerMask: number;
    onEnter?: EventList<any>;
    onStay?: EventList<any>;
    onExit?: EventList<any>;
    start(): void;
    update(): void;
    currentIntersected: SpatialTrigger[];
    lastIntersected: SpatialTrigger[];
    onEnterTrigger(trigger: SpatialTrigger): void;
    onExitTrigger(trigger: SpatialTrigger): void;
    onStayTrigger(trigger: SpatialTrigger): void;
}
/**
 * A trigger that can be used to detect if an object is inside a box.
 * @category Interactivity
 * @group Components
 */
export declare class SpatialTrigger extends Behaviour {
    static triggers: SpatialTrigger[];
    triggerMask?: number;
    private boxHelper?;
    start(): void;
    onEnable(): void;
    onDisable(): void;
    test(obj: Object3D): boolean;
    raiseOnEnterEvent(rec: SpatialTriggerReceiver): void;
    raiseOnStayEvent(rec: SpatialTriggerReceiver): void;
    raiseOnExitEvent(rec: SpatialTriggerReceiver): void;
}
