import { Box3, Ray } from "@aura3d/math";
export interface RaycastTarget<T = unknown> {
    readonly id: string;
    readonly bounds: Box3;
    readonly payload?: T;
}
export interface RaycastHit<T = unknown> {
    readonly target: RaycastTarget<T>;
    readonly distance: number;
}
export declare class Raycaster<T = unknown> {
    intersectBounds(ray: Ray, targets: readonly RaycastTarget<T>[]): readonly RaycastHit<T>[];
}
//# sourceMappingURL=Raycaster.d.ts.map