/** * @license * SPDX-License-Identifier: Apache-2.0 */ type ViteConfig = { root: string; }; type ViteServer = { watcher: { add(paths: string | string[]): void; on(event: 'add' | 'change' | 'unlink', listener: (file: string) => void): void; }; }; interface MujocoReactPluginOptions { /** Entry MJCF/URDF files to scan. Prefer a record for stable per-robot type names. */ models: ModelInput; /** Generated resource module. Defaults to `src/mujoco-register.gen.ts`. */ generatedRegister?: string; /** Module name to augment. Defaults to `mujoco-react`. */ moduleName?: string; /** Disable console output. */ disableLogging?: boolean; } interface MujocoRegisterCodegenOptions { models: ModelInput; out: string; moduleName?: string; root?: string; } interface MujocoRegisterCodegenResult { out: string; files: string[]; counts: Record; } type RegisterKey = 'actuators' | 'sensors' | 'bodies' | 'joints' | 'sites' | 'geoms' | 'keyframes' | 'cameras'; type ModelInput = string | readonly string[] | Record; declare function mujocoReact(options: MujocoReactPluginOptions): { name: string; enforce: "pre"; config(userConfig: { build?: { chunkSizeWarningLimit?: number; }; }): { build: { chunkSizeWarningLimit: number; }; } | undefined; configResolved(config: ViteConfig): void; transform(code: string, id: string): string | undefined; buildStart(this: { addWatchFile?: (file: string) => void; }): Promise; configureServer(server: ViteServer): void; }; declare function generateMujocoRegister(options: MujocoRegisterCodegenOptions): Promise; export { type ModelInput, type MujocoReactPluginOptions, type MujocoRegisterCodegenOptions, type MujocoRegisterCodegenResult, generateMujocoRegister, mujocoReact };