import type { ThreeElements } from "@react-three/fiber";
import type { Group } from "three";
import type { ConnectedMotionGroup } from "../../lib/ConnectedMotionGroup";
import { defaultGetModel } from "./robotModelLogic";
export type RobotProps = {
    connectedMotionGroup: ConnectedMotionGroup;
    getModel?: (modelFromController: string) => Promise<string>;
    flangeRef?: React.Ref<Group>;
    transparentColor?: string;
    postModelRender?: () => void;
} & ThreeElements["group"];
/**
 * The Robot component is a wrapper around the SupportedRobot component
 * for usage with @wandelbots/nova-js ConnectedMotionGroup object.
 *
 * @param {RobotProps} props - The properties for the Robot component.
 * @param {ConnectedMotionGroup} props.connectedMotionGroup - The connected motion group containing motion state and parameters.
 * @param {Function} [props.getModel=defaultGetModel] - Optional function to get the model URL. Defaults to defaultGetModel.
 * @param {Object} props - Additional properties passed to the SupportedRobot component.
 *
 * @returns {JSX.Element} The rendered SupportedRobot component.
 */
export declare function Robot({ connectedMotionGroup, getModel, flangeRef, transparentColor, postModelRender, ...props }: RobotProps): import("react/jsx-runtime").JSX.Element | null;
export { defaultGetModel };
//# sourceMappingURL=Robot.d.ts.map