import { VecN } from '@holotope/core'; import { type SupportFeatureId, type SupportShapeN } from './support-shape.js'; /** Oriented plane `normal · x = offset`; the allowed half-space is positive. */ export declare class HyperplaneColliderN { readonly dim: number; readonly normal: VecN; readonly offset: number; constructor(normal: VecN | ArrayLike, offset?: number); } export interface HyperplaneQueryOptions { /** World-space separation/contact band. Default 1e-12. */ tolerance?: number; } export interface HyperplaneQueryResult { readonly status: 'separated' | 'touching' | 'penetrating'; /** Minimum `normal · x - offset` over the shape. */ readonly signedDistance: number; readonly distance: number; readonly penetrationDepth: number; /** Unit vector from the plane's forbidden side toward the allowed side. */ readonly normal: VecN; readonly pointOnShape: VecN; readonly pointOnPlane: VecN; readonly featureId: SupportFeatureId; } /** Exact one-support query against an infinite oriented hyperplane. */ export declare function querySupportShapeHyperplane(shape: SupportShapeN, plane: HyperplaneColliderN, options?: HyperplaneQueryOptions): HyperplaneQueryResult; //# sourceMappingURL=hyperplane-collider.d.ts.map