import type { ThreeElements } from "@react-three/fiber"; import type { Group } from "three"; import type { ConnectedMotionGroup } from "../../lib/ConnectedMotionGroup"; import { defaultGetModel } from "./robotModelLogic"; export type LinearAxisProps = { connectedMotionGroup: ConnectedMotionGroup; getModel?: (modelFromController: string) => Promise; flangeRef?: React.Ref; transparentColor?: string; postModelRender?: () => void; } & ThreeElements["group"]; /** * The LinearAxis component is a wrapper that renders SupportedLinearAxis if a model is available, * otherwise falls back to DHLinearAxis for usage with @wandelbots/nova-js ConnectedMotionGroup object. * * @param {LinearAxisProps} props - The properties for the LinearAxis 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 underlying component. * * @returns {JSX.Element} The rendered SupportedLinearAxis or DHLinearAxis component. */ export declare function LinearAxis({ connectedMotionGroup, getModel, flangeRef, transparentColor, postModelRender, ...props }: LinearAxisProps): import("react/jsx-runtime").JSX.Element | null; export { defaultGetModel }; export default LinearAxis;