import { z } from 'zod'; export interface SerializedGeometry { type: string; parameters: Record; } export type MaterialSide = 'FrontSide' | 'BackSide' | 'DoubleSide'; export interface SerializedMaterial { type: string; color?: string; opacity: number; transparent: boolean; wireframe?: boolean; metalness?: number; roughness?: number; emissive?: string; emissiveIntensity?: number; map?: string; side?: MaterialSide; } export interface SerializedLight { color: string; intensity: number; distance?: number; decay?: number; angle?: number; penumbra?: number; groundColor?: string; width?: number; height?: number; } export interface SerializedCamera { near: number; far: number; fov?: number; aspect?: number; left?: number; right?: number; top?: number; bottom?: number; zoom?: number; } export interface SerializedNode { uuid: string; name: string; type: string; position: [number, number, number]; rotation: [number, number, number]; scale: [number, number, number]; visible: boolean; castShadow: boolean; receiveShadow: boolean; userData: Record; children: SerializedNode[]; geometry?: SerializedGeometry; material?: SerializedMaterial | SerializedMaterial[]; light?: SerializedLight; camera?: SerializedCamera; } export interface AddObjectGeometrySpec { type: 'box' | 'sphere' | 'cylinder' | 'cone' | 'torus' | 'plane' | 'torusKnot' | 'icosahedron' | 'octahedron' | 'ring' | 'dodecahedron'; args?: number[]; } export interface AddObjectMaterialSpec { type?: 'standard' | 'basic' | 'phong' | 'lambert' | 'physical'; color?: string; opacity?: number; transparent?: boolean; metalness?: number; roughness?: number; wireframe?: boolean; side?: 'front' | 'back' | 'double'; } export interface AddObjectPayload { name: string; type: 'mesh' | 'group' | 'directionalLight' | 'pointLight' | 'spotLight' | 'ambientLight'; position?: [number, number, number]; rotation?: [number, number, number]; scale?: [number, number, number]; parent?: string; geometry?: AddObjectGeometrySpec; material?: AddObjectMaterialSpec; color?: string; intensity?: number; distance?: number; angle?: number; penumbra?: number; castShadow?: boolean; } export interface BoundsResult { min: [number, number, number]; max: [number, number, number]; center: [number, number, number]; size: [number, number, number]; } export interface DistanceResult { distance: number; fromPosition: [number, number, number]; toPosition: [number, number, number]; vector: [number, number, number]; } export interface FrustumVisibleObject { name: string; uuid: string; type: string; worldPosition: [number, number, number]; } export interface FrustumResult { visibleObjects: FrustumVisibleObject[]; totalObjects: number; visibleCount: number; } export interface GetSceneGraphMessage { type: 'get_scene_graph'; requestId: string; } export interface GetObjectMessage { type: 'get_object'; requestId: string; payload: { id: string; }; } export interface SetTransformMessage { type: 'set_transform'; requestId: string; payload: { id: string; position?: [number, number, number]; rotation?: [number, number, number]; scale?: [number, number, number]; }; } export interface SetMaterialMessage { type: 'set_material'; requestId: string; payload: { id: string; color?: string; roughness?: number; metalness?: number; opacity?: number; transparent?: boolean; wireframe?: boolean; emissive?: string; emissiveIntensity?: number; }; } export interface SetVisibleMessage { type: 'set_visible'; requestId: string; payload: { id: string; visible: boolean; }; } export interface TakeScreenshotMessage { type: 'take_screenshot'; requestId: string; payload: { width?: number; height?: number; }; } export interface AddObjectMessage { type: 'add_object'; requestId: string; payload: AddObjectPayload; } export interface RemoveObjectMessage { type: 'remove_object'; requestId: string; payload: { id: string; }; } export interface QueryBoundsMessage { type: 'query_bounds'; requestId: string; payload: { id: string; }; } export interface QueryDistanceMessage { type: 'query_distance'; requestId: string; payload: { fromId: string; toId: string; }; } export interface QueryFrustumMessage { type: 'query_frustum'; requestId: string; payload: { cameraId?: string; }; } export interface InjectCodeMessage { type: 'inject_code'; requestId: string; payload: { code: string; name: string; replace?: string; }; } export interface RemoveInjectionMessage { type: 'remove_injection'; requestId: string; payload: { name: string; }; } export interface GetInjectionsMessage { type: 'get_injections'; requestId: string; } export interface GetAnimationsMessage { type: 'get_animations'; requestId: string; payload: { identifier?: string; }; } export interface ControlAnimationMessage { type: 'control_animation'; requestId: string; payload: { target: string; action: 'play' | 'pause' | 'stop' | 'seek'; time?: number; animationName?: string; }; } export interface GetPhysicsMessage { type: 'get_physics'; requestId: string; payload: { identifier?: string; }; } export interface GetPerformanceMessage { type: 'get_performance'; requestId: string; } export interface StartProfileMessage { type: 'start_profile'; requestId: string; payload: { duration: number; }; } export type ServerToClientMessage = GetSceneGraphMessage | GetObjectMessage | SetTransformMessage | SetMaterialMessage | SetVisibleMessage | TakeScreenshotMessage | AddObjectMessage | RemoveObjectMessage | QueryBoundsMessage | QueryDistanceMessage | QueryFrustumMessage | GetAnimationsMessage | ControlAnimationMessage | GetPhysicsMessage | GetPerformanceMessage | StartProfileMessage | InjectCodeMessage | RemoveInjectionMessage | GetInjectionsMessage; export interface SceneGraphResponseMessage { type: 'scene_graph_response'; requestId: string; payload: { scene: SerializedNode; }; } export interface ObjectResponseMessage { type: 'object_response'; requestId: string; payload: { object: SerializedNode | null; }; } export interface ScreenshotResponseMessage { type: 'screenshot_response'; requestId: string; payload: { image: string; width: number; height: number; }; } export interface EditConfirmationMessage { type: 'edit_confirmation'; requestId: string; payload: { id: string; property: string; success: boolean; }; } export interface ErrorMessage { type: 'error'; requestId: string; payload: { message: string; code?: string; }; } export interface AddObjectResponseMessage { type: 'add_object_response'; requestId: string; payload: { uuid: string; name: string; }; } export interface RemoveObjectResponseMessage { type: 'remove_object_response'; requestId: string; payload: { uuid: string; name: string; }; } export interface QueryBoundsResponseMessage { type: 'query_bounds_response'; requestId: string; payload: BoundsResult; } export interface QueryDistanceResponseMessage { type: 'query_distance_response'; requestId: string; payload: DistanceResult; } export interface QueryFrustumResponseMessage { type: 'query_frustum_response'; requestId: string; payload: FrustumResult; } export interface AnimationInfo { name: string; target: string; property: string; duration: number; elapsed: number; progress: number; loop: boolean; paused: boolean; type: 'mixer' | 'spring' | 'gsap' | 'custom' | 'unknown'; } export interface AnimationControlResult { success: boolean; animation: string; state: 'playing' | 'paused' | 'stopped'; currentTime: number; } export interface PhysicsCollider { shape: string; halfExtents?: [number, number, number]; radius?: number; isSensor: boolean; friction: number; restitution: number; } export interface PhysicsBody { name: string; uuid: string; bodyType: 'dynamic' | 'fixed' | 'kinematicPosition' | 'kinematicVelocity'; position: [number, number, number]; rotation: [number, number, number, number]; linearVelocity: [number, number, number]; angularVelocity: [number, number, number]; mass: number; colliders: PhysicsCollider[]; isSleeping: boolean; isEnabled: boolean; } export interface PhysicsJoint { type: string; body1: string; body2: string; anchor1: [number, number, number]; anchor2: [number, number, number]; } export interface PhysicsResult { available: boolean; message?: string; bodies?: PhysicsBody[]; joints?: PhysicsJoint[]; gravity?: [number, number, number]; totalBodies?: number; activeBodies?: number; } export interface SceneStats { totalObjects: number; visibleObjects: number; meshCount: number; lightCount: number; groupCount: number; } export interface PerformanceResult { fps: number; frameTime: number; drawCalls: number; triangles: number; points: number; lines: number; geometries: number; textures: number; programs: number; memory: { geometries: number; textures: number; }; scene: SceneStats; } export interface HeavyObject { name: string; uuid: string; triangles: number; drawCalls: number; } export interface ProfileResult { duration: number; frames: number; fps: { min: number; max: number; average: number; median: number; p99: number; }; drawCalls: { min: number; max: number; average: number; }; triangles: { min: number; max: number; average: number; }; heaviestObjects: HeavyObject[]; recommendations: string[]; } export interface AnimationsResponseMessage { type: 'animations_response'; requestId: string; payload: { animations: AnimationInfo[]; totalAnimations: number; }; } export interface AnimationControlResponseMessage { type: 'animation_control_response'; requestId: string; payload: AnimationControlResult; } export interface PhysicsResponseMessage { type: 'physics_response'; requestId: string; payload: PhysicsResult; } export interface PerformanceResponseMessage { type: 'performance_response'; requestId: string; payload: PerformanceResult; } export interface ProfileResponseMessage { type: 'profile_response'; requestId: string; payload: ProfileResult; } export interface InjectCodeResponseMessage { type: 'inject_code_response'; requestId: string; payload: { success: boolean; uuid: string; name: string; error?: string; }; } export interface InjectionRemovedResponseMessage { type: 'injection_removed_response'; requestId: string; payload: { success: boolean; name: string; }; } export interface InjectionEntry { name: string; uuid: string; code: string; injectedAt: string; hasErrors: boolean; } export interface InjectionsListResponseMessage { type: 'injections_list_response'; requestId: string; payload: { injections: InjectionEntry[]; }; } export type ClientToServerMessage = SceneGraphResponseMessage | ObjectResponseMessage | ScreenshotResponseMessage | EditConfirmationMessage | ErrorMessage | AddObjectResponseMessage | RemoveObjectResponseMessage | QueryBoundsResponseMessage | QueryDistanceResponseMessage | QueryFrustumResponseMessage | AnimationsResponseMessage | AnimationControlResponseMessage | PhysicsResponseMessage | PerformanceResponseMessage | ProfileResponseMessage | InjectCodeResponseMessage | InjectionRemovedResponseMessage | InjectionsListResponseMessage; export interface ServerConfig { wsUrl: string; } export declare const GetSceneGraphInputSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>; export type GetSceneGraphInput = z.infer; export declare const GetObjectInputSchema: z.ZodObject<{ id: z.ZodString; }, "strip", z.ZodTypeAny, { id: string; }, { id: string; }>; export type GetObjectInput = z.infer; export declare const SetTransformInputSchema: z.ZodObject<{ id: z.ZodString; position: z.ZodOptional>; rotation: z.ZodOptional>; scale: z.ZodOptional>; }, "strip", z.ZodTypeAny, { id: string; position?: [number, number, number] | undefined; rotation?: [number, number, number] | undefined; scale?: [number, number, number] | undefined; }, { id: string; position?: [number, number, number] | undefined; rotation?: [number, number, number] | undefined; scale?: [number, number, number] | undefined; }>; export type SetTransformInput = z.infer; export declare const SetMaterialInputSchema: z.ZodObject<{ id: z.ZodString; color: z.ZodOptional; roughness: z.ZodOptional; metalness: z.ZodOptional; opacity: z.ZodOptional; transparent: z.ZodOptional; wireframe: z.ZodOptional; emissive: z.ZodOptional; emissiveIntensity: z.ZodOptional; }, "strip", z.ZodTypeAny, { id: string; color?: string | undefined; roughness?: number | undefined; metalness?: number | undefined; opacity?: number | undefined; transparent?: boolean | undefined; wireframe?: boolean | undefined; emissive?: string | undefined; emissiveIntensity?: number | undefined; }, { id: string; color?: string | undefined; roughness?: number | undefined; metalness?: number | undefined; opacity?: number | undefined; transparent?: boolean | undefined; wireframe?: boolean | undefined; emissive?: string | undefined; emissiveIntensity?: number | undefined; }>; export type SetMaterialInput = z.infer; export declare const SetVisibleInputSchema: z.ZodObject<{ id: z.ZodString; visible: z.ZodBoolean; }, "strip", z.ZodTypeAny, { id: string; visible: boolean; }, { id: string; visible: boolean; }>; export type SetVisibleInput = z.infer; export declare const TakeScreenshotInputSchema: z.ZodObject<{ width: z.ZodOptional; height: z.ZodOptional; }, "strip", z.ZodTypeAny, { width?: number | undefined; height?: number | undefined; }, { width?: number | undefined; height?: number | undefined; }>; export type TakeScreenshotInput = z.infer; export declare const AddObjectInputSchema: z.ZodObject<{ name: z.ZodString; type: z.ZodEnum<["mesh", "group", "directionalLight", "pointLight", "spotLight", "ambientLight"]>; position: z.ZodOptional>; rotation: z.ZodOptional>; scale: z.ZodOptional>; parent: z.ZodOptional; geometry: z.ZodOptional; args: z.ZodOptional>; }, "strip", z.ZodTypeAny, { type: "box" | "sphere" | "cylinder" | "cone" | "torus" | "plane" | "torusKnot" | "icosahedron" | "octahedron" | "ring" | "dodecahedron"; args?: number[] | undefined; }, { type: "box" | "sphere" | "cylinder" | "cone" | "torus" | "plane" | "torusKnot" | "icosahedron" | "octahedron" | "ring" | "dodecahedron"; args?: number[] | undefined; }>>; material: z.ZodOptional>; color: z.ZodOptional; opacity: z.ZodOptional; transparent: z.ZodOptional; metalness: z.ZodOptional; roughness: z.ZodOptional; wireframe: z.ZodOptional; side: z.ZodOptional>; }, "strip", z.ZodTypeAny, { type?: "standard" | "basic" | "phong" | "lambert" | "physical" | undefined; color?: string | undefined; roughness?: number | undefined; metalness?: number | undefined; opacity?: number | undefined; transparent?: boolean | undefined; wireframe?: boolean | undefined; side?: "front" | "back" | "double" | undefined; }, { type?: "standard" | "basic" | "phong" | "lambert" | "physical" | undefined; color?: string | undefined; roughness?: number | undefined; metalness?: number | undefined; opacity?: number | undefined; transparent?: boolean | undefined; wireframe?: boolean | undefined; side?: "front" | "back" | "double" | undefined; }>>; color: z.ZodOptional; intensity: z.ZodOptional; distance: z.ZodOptional; angle: z.ZodOptional; penumbra: z.ZodOptional; castShadow: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "mesh" | "group" | "directionalLight" | "pointLight" | "spotLight" | "ambientLight"; name: string; position?: [number, number, number] | undefined; rotation?: [number, number, number] | undefined; scale?: [number, number, number] | undefined; color?: string | undefined; parent?: string | undefined; geometry?: { type: "box" | "sphere" | "cylinder" | "cone" | "torus" | "plane" | "torusKnot" | "icosahedron" | "octahedron" | "ring" | "dodecahedron"; args?: number[] | undefined; } | undefined; material?: { type?: "standard" | "basic" | "phong" | "lambert" | "physical" | undefined; color?: string | undefined; roughness?: number | undefined; metalness?: number | undefined; opacity?: number | undefined; transparent?: boolean | undefined; wireframe?: boolean | undefined; side?: "front" | "back" | "double" | undefined; } | undefined; intensity?: number | undefined; distance?: number | undefined; angle?: number | undefined; penumbra?: number | undefined; castShadow?: boolean | undefined; }, { type: "mesh" | "group" | "directionalLight" | "pointLight" | "spotLight" | "ambientLight"; name: string; position?: [number, number, number] | undefined; rotation?: [number, number, number] | undefined; scale?: [number, number, number] | undefined; color?: string | undefined; parent?: string | undefined; geometry?: { type: "box" | "sphere" | "cylinder" | "cone" | "torus" | "plane" | "torusKnot" | "icosahedron" | "octahedron" | "ring" | "dodecahedron"; args?: number[] | undefined; } | undefined; material?: { type?: "standard" | "basic" | "phong" | "lambert" | "physical" | undefined; color?: string | undefined; roughness?: number | undefined; metalness?: number | undefined; opacity?: number | undefined; transparent?: boolean | undefined; wireframe?: boolean | undefined; side?: "front" | "back" | "double" | undefined; } | undefined; intensity?: number | undefined; distance?: number | undefined; angle?: number | undefined; penumbra?: number | undefined; castShadow?: boolean | undefined; }>; export type AddObjectInput = z.infer; export declare const RemoveObjectInputSchema: z.ZodObject<{ identifier: z.ZodString; }, "strip", z.ZodTypeAny, { identifier: string; }, { identifier: string; }>; export type RemoveObjectInput = z.infer; export declare const QueryBoundsInputSchema: z.ZodObject<{ identifier: z.ZodString; }, "strip", z.ZodTypeAny, { identifier: string; }, { identifier: string; }>; export type QueryBoundsInput = z.infer; export declare const QueryDistanceInputSchema: z.ZodObject<{ from: z.ZodString; to: z.ZodString; }, "strip", z.ZodTypeAny, { from: string; to: string; }, { from: string; to: string; }>; export type QueryDistanceInput = z.infer; export declare const QueryFrustumInputSchema: z.ZodObject<{ camera: z.ZodOptional; }, "strip", z.ZodTypeAny, { camera?: string | undefined; }, { camera?: string | undefined; }>; export type QueryFrustumInput = z.infer; export declare const SceneDiffInputSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>; export type SceneDiffInput = z.infer; export declare const GetAnimationsInputSchema: z.ZodObject<{ identifier: z.ZodOptional; }, "strip", z.ZodTypeAny, { identifier?: string | undefined; }, { identifier?: string | undefined; }>; export type GetAnimationsInput = z.infer; export declare const ControlAnimationInputSchema: z.ZodObject<{ target: z.ZodString; action: z.ZodEnum<["play", "pause", "stop", "seek"]>; time: z.ZodOptional; animationName: z.ZodOptional; }, "strip", z.ZodTypeAny, { target: string; action: "play" | "pause" | "stop" | "seek"; time?: number | undefined; animationName?: string | undefined; }, { target: string; action: "play" | "pause" | "stop" | "seek"; time?: number | undefined; animationName?: string | undefined; }>; export type ControlAnimationInput = z.infer; export declare const GetPhysicsInputSchema: z.ZodObject<{ identifier: z.ZodOptional; }, "strip", z.ZodTypeAny, { identifier?: string | undefined; }, { identifier?: string | undefined; }>; export type GetPhysicsInput = z.infer; export declare const GetPerformanceInputSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>; export type GetPerformanceInput = z.infer; export declare const GetPerformanceProfileInputSchema: z.ZodObject<{ duration: z.ZodOptional; }, "strip", z.ZodTypeAny, { duration?: number | undefined; }, { duration?: number | undefined; }>; export type GetPerformanceProfileInput = z.infer; export declare const GenerateComponentInputSchema: z.ZodObject<{ description: z.ZodString; name: z.ZodString; position: z.ZodOptional>; preview: z.ZodDefault; }, "strip", z.ZodTypeAny, { name: string; description: string; preview: boolean; position?: [number, number, number] | undefined; }, { name: string; description: string; position?: [number, number, number] | undefined; preview?: boolean | undefined; }>; export type GenerateComponentInput = z.infer; export declare const InjectCodeInputSchema: z.ZodObject<{ code: z.ZodString; name: z.ZodOptional; replace: z.ZodOptional; }, "strip", z.ZodTypeAny, { code: string; name?: string | undefined; replace?: string | undefined; }, { code: string; name?: string | undefined; replace?: string | undefined; }>; export type InjectCodeInput = z.infer; export declare const CommitComponentInputSchema: z.ZodObject<{ name: z.ZodString; directory: z.ZodOptional; filename: z.ZodOptional; }, "strip", z.ZodTypeAny, { name: string; directory?: string | undefined; filename?: string | undefined; }, { name: string; directory?: string | undefined; filename?: string | undefined; }>; export type CommitComponentInput = z.infer; export declare const ScaffoldProjectInputSchema: z.ZodObject<{ description: z.ZodString; directory: z.ZodString; template: z.ZodOptional>; features: z.ZodOptional>; components: z.ZodOptional, "many">>; }, "strip", z.ZodTypeAny, { description: string; directory: string; template?: "game" | "showcase" | "portfolio" | "visualization" | "experience" | undefined; features?: string[] | undefined; components?: { code: string; name: string; description: string; }[] | undefined; }, { description: string; directory: string; template?: "game" | "showcase" | "portfolio" | "visualization" | "experience" | undefined; features?: string[] | undefined; components?: { code: string; name: string; description: string; }[] | undefined; }>; export type ScaffoldProjectInput = z.infer; export declare const ListInjectionsInputSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>; export type ListInjectionsInput = z.infer; export declare const RemoveInjectionInputSchema: z.ZodObject<{ name: z.ZodString; }, "strip", z.ZodTypeAny, { name: string; }, { name: string; }>; export type RemoveInjectionInput = z.infer; export declare const ToolInputSchemas: { readonly get_scene_graph: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>; readonly get_object: z.ZodObject<{ id: z.ZodString; }, "strip", z.ZodTypeAny, { id: string; }, { id: string; }>; readonly set_transform: z.ZodObject<{ id: z.ZodString; position: z.ZodOptional>; rotation: z.ZodOptional>; scale: z.ZodOptional>; }, "strip", z.ZodTypeAny, { id: string; position?: [number, number, number] | undefined; rotation?: [number, number, number] | undefined; scale?: [number, number, number] | undefined; }, { id: string; position?: [number, number, number] | undefined; rotation?: [number, number, number] | undefined; scale?: [number, number, number] | undefined; }>; readonly set_material: z.ZodObject<{ id: z.ZodString; color: z.ZodOptional; roughness: z.ZodOptional; metalness: z.ZodOptional; opacity: z.ZodOptional; transparent: z.ZodOptional; wireframe: z.ZodOptional; emissive: z.ZodOptional; emissiveIntensity: z.ZodOptional; }, "strip", z.ZodTypeAny, { id: string; color?: string | undefined; roughness?: number | undefined; metalness?: number | undefined; opacity?: number | undefined; transparent?: boolean | undefined; wireframe?: boolean | undefined; emissive?: string | undefined; emissiveIntensity?: number | undefined; }, { id: string; color?: string | undefined; roughness?: number | undefined; metalness?: number | undefined; opacity?: number | undefined; transparent?: boolean | undefined; wireframe?: boolean | undefined; emissive?: string | undefined; emissiveIntensity?: number | undefined; }>; readonly set_visible: z.ZodObject<{ id: z.ZodString; visible: z.ZodBoolean; }, "strip", z.ZodTypeAny, { id: string; visible: boolean; }, { id: string; visible: boolean; }>; readonly screenshot: z.ZodObject<{ width: z.ZodOptional; height: z.ZodOptional; }, "strip", z.ZodTypeAny, { width?: number | undefined; height?: number | undefined; }, { width?: number | undefined; height?: number | undefined; }>; readonly add_object: z.ZodObject<{ name: z.ZodString; type: z.ZodEnum<["mesh", "group", "directionalLight", "pointLight", "spotLight", "ambientLight"]>; position: z.ZodOptional>; rotation: z.ZodOptional>; scale: z.ZodOptional>; parent: z.ZodOptional; geometry: z.ZodOptional; args: z.ZodOptional>; }, "strip", z.ZodTypeAny, { type: "box" | "sphere" | "cylinder" | "cone" | "torus" | "plane" | "torusKnot" | "icosahedron" | "octahedron" | "ring" | "dodecahedron"; args?: number[] | undefined; }, { type: "box" | "sphere" | "cylinder" | "cone" | "torus" | "plane" | "torusKnot" | "icosahedron" | "octahedron" | "ring" | "dodecahedron"; args?: number[] | undefined; }>>; material: z.ZodOptional>; color: z.ZodOptional; opacity: z.ZodOptional; transparent: z.ZodOptional; metalness: z.ZodOptional; roughness: z.ZodOptional; wireframe: z.ZodOptional; side: z.ZodOptional>; }, "strip", z.ZodTypeAny, { type?: "standard" | "basic" | "phong" | "lambert" | "physical" | undefined; color?: string | undefined; roughness?: number | undefined; metalness?: number | undefined; opacity?: number | undefined; transparent?: boolean | undefined; wireframe?: boolean | undefined; side?: "front" | "back" | "double" | undefined; }, { type?: "standard" | "basic" | "phong" | "lambert" | "physical" | undefined; color?: string | undefined; roughness?: number | undefined; metalness?: number | undefined; opacity?: number | undefined; transparent?: boolean | undefined; wireframe?: boolean | undefined; side?: "front" | "back" | "double" | undefined; }>>; color: z.ZodOptional; intensity: z.ZodOptional; distance: z.ZodOptional; angle: z.ZodOptional; penumbra: z.ZodOptional; castShadow: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "mesh" | "group" | "directionalLight" | "pointLight" | "spotLight" | "ambientLight"; name: string; position?: [number, number, number] | undefined; rotation?: [number, number, number] | undefined; scale?: [number, number, number] | undefined; color?: string | undefined; parent?: string | undefined; geometry?: { type: "box" | "sphere" | "cylinder" | "cone" | "torus" | "plane" | "torusKnot" | "icosahedron" | "octahedron" | "ring" | "dodecahedron"; args?: number[] | undefined; } | undefined; material?: { type?: "standard" | "basic" | "phong" | "lambert" | "physical" | undefined; color?: string | undefined; roughness?: number | undefined; metalness?: number | undefined; opacity?: number | undefined; transparent?: boolean | undefined; wireframe?: boolean | undefined; side?: "front" | "back" | "double" | undefined; } | undefined; intensity?: number | undefined; distance?: number | undefined; angle?: number | undefined; penumbra?: number | undefined; castShadow?: boolean | undefined; }, { type: "mesh" | "group" | "directionalLight" | "pointLight" | "spotLight" | "ambientLight"; name: string; position?: [number, number, number] | undefined; rotation?: [number, number, number] | undefined; scale?: [number, number, number] | undefined; color?: string | undefined; parent?: string | undefined; geometry?: { type: "box" | "sphere" | "cylinder" | "cone" | "torus" | "plane" | "torusKnot" | "icosahedron" | "octahedron" | "ring" | "dodecahedron"; args?: number[] | undefined; } | undefined; material?: { type?: "standard" | "basic" | "phong" | "lambert" | "physical" | undefined; color?: string | undefined; roughness?: number | undefined; metalness?: number | undefined; opacity?: number | undefined; transparent?: boolean | undefined; wireframe?: boolean | undefined; side?: "front" | "back" | "double" | undefined; } | undefined; intensity?: number | undefined; distance?: number | undefined; angle?: number | undefined; penumbra?: number | undefined; castShadow?: boolean | undefined; }>; readonly remove_object: z.ZodObject<{ identifier: z.ZodString; }, "strip", z.ZodTypeAny, { identifier: string; }, { identifier: string; }>; readonly query_bounds: z.ZodObject<{ identifier: z.ZodString; }, "strip", z.ZodTypeAny, { identifier: string; }, { identifier: string; }>; readonly query_distance: z.ZodObject<{ from: z.ZodString; to: z.ZodString; }, "strip", z.ZodTypeAny, { from: string; to: string; }, { from: string; to: string; }>; readonly query_frustum: z.ZodObject<{ camera: z.ZodOptional; }, "strip", z.ZodTypeAny, { camera?: string | undefined; }, { camera?: string | undefined; }>; readonly scene_diff: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>; }; export type ToolName = keyof typeof ToolInputSchemas; //# sourceMappingURL=types.d.ts.map