import { type Vec3 } from "./Shape.js";
import type { Collider } from "./Collider.js";
import type { RigidBody } from "./RigidBody.js";
export type RaycastOptions = {
    readonly maxDistance?: number;
    readonly mask?: number;
    readonly includeSensors?: boolean;
    readonly includeBackfaces?: boolean;
};
export type RaycastHit = {
    readonly colliderId: number;
    readonly bodyId: number;
    readonly point: Vec3;
    readonly normal: Vec3;
    readonly distance: number;
};
export type SphereCastHit = RaycastHit & {
    readonly castCenter: Vec3;
    readonly castRadius: number;
};
export declare function raycastCollider(origin: Vec3, direction: Vec3, collider: Collider, body: RigidBody, options?: RaycastOptions): RaycastHit | undefined;
export declare function sphereCastCollider(origin: Vec3, radius: number, direction: Vec3, collider: Collider, body: RigidBody, options?: RaycastOptions): SphereCastHit | undefined;
//# sourceMappingURL=Raycast.d.ts.map