import { Box3, type ColorRepresentation, Object3D } from "three";
import { Behaviour } from "./Component.js";
/**
 * A component that creates a bounding box around an object and provides intersection testing functionality.
 *
 * Debug mode can be enabled with the URL parameter `?debugboxhelper`, which will visualize intersection tests.
 * Helper visualization can be enabled with the URL parameter `?gizmos`.
 *
 * @summary Bounding box helper with intersection tests
 * @category Helpers
 * @group Components
 */
export declare class BoxHelperComponent extends Behaviour {
    /** The bounding box for this component */
    private box;
    private static testBox;
    private _lastMatrixUpdateFrame;
    private static _position;
    private static _size;
    private static _emptyObjectSize;
    /**
     * Tests if an object intersects with this helper's bounding box
     * @param obj The object to test for intersection
     * @returns True if objects intersect, false if not, undefined if the provided object is invalid
     */
    isInBox(obj: Object3D): boolean | undefined;
    /**
     * Tests if this helper's bounding box intersects with another box
     * @param box The {@link Box3} to test for intersection
     * @returns True if boxes intersect, false otherwise
     */
    intersects(box: Box3): boolean;
    /**
     * Updates the helper's bounding box based on the gameObject's position and scale
     * @param force Whether to force an update regardless of frame count
     * @returns The updated {@link Box3}
     */
    updateBox(force?: boolean): Box3;
    private _helper;
    private _color;
    awake(): void;
    /**
     * Creates and displays a visual wireframe representation of this box helper
     * @param col Optional color for the wireframe. If not provided, uses default color
     * @param force If true, shows the helper even if gizmos are disabled
     */
    showHelper(col?: ColorRepresentation | null, force?: boolean): void;
}
