import type { ColliderInfo, SnapshotObject, Vec3, WorldSnapshot } from './snapshotTypes'; export declare const STEP_HEIGHT_M = 0.35; export type Severity = 'error' | 'warn' | 'info'; export type Confidence = 'high' | 'medium' | 'low'; export interface Finding { rule: string; severity: Severity; path: string; detail: string; measured?: Record; method: string; confidence: Confidence; } export interface AnalysisResult { findings: Finding[]; notes: string[]; } type Aabb = { min: Vec3; max: Vec3; }; export declare function rotateByQuat(v: Vec3, q: { x: number; y: number; z: number; w: number; }): Vec3; export declare function colliderAabb(c: ColliderInfo): Aabb | null; /** Yaw about +Y in degrees, [0, 360). */ export declare function yawDeg(q: { x: number; y: number; z: number; w: number; }): number; export declare const isCharacterSubtree: (path: string) => boolean; export declare const isHelperType: (type: string) => boolean; interface Item { obj: SnapshotObject; aabb: Aabb; } type Obb = { center: Vec3; half: Vec3; axes: [Vec3, Vec3, Vec3]; }; export declare function obbPenetration(a: Obb, b: Obb): number | null; export declare function analyzeWorld(snapshot: WorldSnapshot): AnalysisResult; export declare function sortFindings(findings: Finding[]): Finding[]; export declare function reachabilityRule(items: Item[], colliders: ColliderInfo[], spawn: Vec3 | null, findings: Finding[]): void; export {};