import type { Object3D } from "three";
import type { GLTF } from "three-stdlib";
/**
 * Revoke a cached model's object URL to prevent memory leaks.
 * Call this when a component unmounts or no longer needs the model.
 */
export declare function revokeModelUrl(modelFromController: string): Promise<void>;
/**
 * Revoke all cached model object URLs and clear the cache.
 * Useful for cleanup on app teardown.
 */
export declare function revokeAllModelUrls(): Promise<void>;
export declare function defaultGetModel(modelFromController: string, instanceUrlProp?: string): Promise<string>;
/**
 * Finds all the joint groups in a GLTF tree, as identified
 * by the _Jxx name ending convention.
 */
export declare function collectJoints(rootObject: Object3D): Object3D[];
/**
 * Checks if a specified threejs object represents the flange of a
 * robot, based on the _FLG name ending convention.
 */
export declare function isFlange(node: Object3D): boolean;
/**
 * Checks if a specified threejs object represents a joint of a
 * robot, based on the _Jxx name ending convention.
 */
export declare function isJoint(node: Object3D): boolean;
/**
 * Validates that the loaded GLTF file has six joints and a flange group.
 */
export declare function parseRobotModel(gltf: GLTF, filename: string): {
    gltf: GLTF;
};
//# sourceMappingURL=robotModelLogic.d.ts.map