import { z } from "zod"; import { IMaterialStandardDataPropertiesDefinition } from "../data/material/IMaterialStandardData"; import { IOutlineEffectDefinition } from "../renderingEngine/IPostProcessingEffectDefinitions"; export type InteractionParameterSettingsType = "selection" | "gumball" | "dragging" | "rectangleTransform" | "drawing"; export type InteractionEffect = string | IMaterialStandardDataPropertiesDefinition | IOutlineEffectDefinition | null; /** * General properties of an interaction parameter. */ export interface IInteractionParameterProps { /** If the objects are hoverable. (default: true) */ hover?: boolean; /** The interaction effect on objects when hovered. (default: '#00ff78') */ hoverColor?: InteractionEffect; /** A prompt that can be defined which is displayed instead of the default prompt. */ prompt?: { /** The title when the parameter is inactive. */ inactiveTitle?: string; /** The title when the parameter is active. */ activeTitle?: string; /** The text when the parameter is inactive. */ activeText?: string; }; /** The mode to determine when the parameter is active. (default: 'default') */ activeMode?: "default" | "activeOnStart"; /** When true, interactions are blocked by non-interactive solid geometry in front of the target. (default: false) */ occludeBySceneGeometry?: boolean; } /** * The definition of an interaction parameter. * * For each type, there is a corresponding set of properties. */ export interface IInteractionParameterSettings { /** Properties of the parameter definition. */ props: IInteractionParameterProps; /** Type of the interaction parameters. */ type: InteractionParameterSettingsType; } export declare const ISelectionParameterPropsJsonSchema: z.ZodObject<{ maximumSelection: z.ZodOptional>; minimumSelection: z.ZodOptional>; nameFilter: z.ZodOptional>>; selectionColor: z.ZodOptional]>>>; availableColor: z.ZodOptional]>>>; deselectOnEmpty: z.ZodPreprocess>; hover: z.ZodPreprocess>; hoverColor: z.ZodOptional]>>>; prompt: z.ZodOptional>; activeTitle: z.ZodOptional>; activeText: z.ZodOptional>; }, z.core.$strip>>>; activeMode: z.ZodOptional>; occludeBySceneGeometry: z.ZodPreprocess>; }, z.core.$strip>; export declare const ISelectionParameterJsonSchema: z.ZodObject<{ type: z.ZodLiteral<"selection">; props: z.ZodObject<{ maximumSelection: z.ZodOptional>; minimumSelection: z.ZodOptional>; nameFilter: z.ZodOptional>>; selectionColor: z.ZodOptional]>>>; availableColor: z.ZodOptional]>>>; deselectOnEmpty: z.ZodPreprocess>; hover: z.ZodPreprocess>; hoverColor: z.ZodOptional]>>>; prompt: z.ZodOptional>; activeTitle: z.ZodOptional>; activeText: z.ZodOptional>; }, z.core.$strip>>>; activeMode: z.ZodOptional>; occludeBySceneGeometry: z.ZodPreprocess>; }, z.core.$strip>; }, z.core.$strip>; export declare const IDraggableObjectsJsonSchema: z.ZodOptional; dragAnchors: z.ZodOptional; rotation: z.ZodOptional; angle: z.ZodNumber; }, z.core.$strip>>>; }, z.core.$strip>>>>; dragOrigin: z.ZodOptional>>; }, z.core.$strip>>>>; export declare const IRestrictionsJsonSchema: z.ZodOptional; angle: z.ZodNumber; }, z.core.$strip>>>; }, z.core.$loose>>>>; export declare const IGumballTransformParameterPropsJsonSchema: z.ZodObject<{ enableRotation: z.ZodPreprocess>; enableRotationAxes: z.ZodOptional>; y: z.ZodPreprocess>; z: z.ZodPreprocess>; xy: z.ZodPreprocess>; yz: z.ZodPreprocess>; xz: z.ZodPreprocess>; }, z.core.$strip>>>; enableScaling: z.ZodPreprocess>; enableScalingAxes: z.ZodOptional>; y: z.ZodPreprocess>; z: z.ZodPreprocess>; xy: z.ZodPreprocess>; yz: z.ZodPreprocess>; xz: z.ZodPreprocess>; }, z.core.$strip>>>; enableTranslation: z.ZodPreprocess>; enableTranslationAxes: z.ZodOptional>; y: z.ZodPreprocess>; z: z.ZodPreprocess>; xy: z.ZodPreprocess>; yz: z.ZodPreprocess>; xz: z.ZodPreprocess>; }, z.core.$strip>>>; nameFilter: z.ZodOptional>>; scale: z.ZodOptional>; space: z.ZodOptional, z.ZodLiteral<"world">]>>>; selectionColor: z.ZodOptional]>>>; availableColor: z.ZodOptional]>>>; maximumSelection: z.ZodOptional>; minimumSelection: z.ZodOptional>; deselectOnEmpty: z.ZodPreprocess>; objects: z.ZodOptional; dragAnchors: z.ZodOptional; rotation: z.ZodOptional; angle: z.ZodNumber; }, z.core.$strip>>>; }, z.core.$strip>>>>; dragOrigin: z.ZodOptional>>; }, z.core.$strip>>>>; restrictions: z.ZodOptional; angle: z.ZodNumber; }, z.core.$strip>>>; }, z.core.$loose>>>>; hover: z.ZodPreprocess>; hoverColor: z.ZodOptional]>>>; prompt: z.ZodOptional>; activeTitle: z.ZodOptional>; activeText: z.ZodOptional>; }, z.core.$strip>>>; activeMode: z.ZodOptional>; occludeBySceneGeometry: z.ZodPreprocess>; }, z.core.$strip>; export declare const IGumballTransformParameterJsonSchema: z.ZodObject<{ type: z.ZodLiteral<"gumball">; props: z.ZodObject<{ enableRotation: z.ZodPreprocess>; enableRotationAxes: z.ZodOptional>; y: z.ZodPreprocess>; z: z.ZodPreprocess>; xy: z.ZodPreprocess>; yz: z.ZodPreprocess>; xz: z.ZodPreprocess>; }, z.core.$strip>>>; enableScaling: z.ZodPreprocess>; enableScalingAxes: z.ZodOptional>; y: z.ZodPreprocess>; z: z.ZodPreprocess>; xy: z.ZodPreprocess>; yz: z.ZodPreprocess>; xz: z.ZodPreprocess>; }, z.core.$strip>>>; enableTranslation: z.ZodPreprocess>; enableTranslationAxes: z.ZodOptional>; y: z.ZodPreprocess>; z: z.ZodPreprocess>; xy: z.ZodPreprocess>; yz: z.ZodPreprocess>; xz: z.ZodPreprocess>; }, z.core.$strip>>>; nameFilter: z.ZodOptional>>; scale: z.ZodOptional>; space: z.ZodOptional, z.ZodLiteral<"world">]>>>; selectionColor: z.ZodOptional]>>>; availableColor: z.ZodOptional]>>>; maximumSelection: z.ZodOptional>; minimumSelection: z.ZodOptional>; deselectOnEmpty: z.ZodPreprocess>; objects: z.ZodOptional; dragAnchors: z.ZodOptional; rotation: z.ZodOptional; angle: z.ZodNumber; }, z.core.$strip>>>; }, z.core.$strip>>>>; dragOrigin: z.ZodOptional>>; }, z.core.$strip>>>>; restrictions: z.ZodOptional; angle: z.ZodNumber; }, z.core.$strip>>>; }, z.core.$loose>>>>; hover: z.ZodPreprocess>; hoverColor: z.ZodOptional]>>>; prompt: z.ZodOptional>; activeTitle: z.ZodOptional>; activeText: z.ZodOptional>; }, z.core.$strip>>>; activeMode: z.ZodOptional>; occludeBySceneGeometry: z.ZodPreprocess>; }, z.core.$strip>; }, z.core.$strip>; export declare const IRectangleTransformParameterPropsJsonSchema: z.ZodObject<{ enableRotation: z.ZodPreprocess>; enableScaling: z.ZodPreprocess>; enableTranslation: z.ZodPreprocess>; nameFilter: z.ZodOptional>>; selectionColor: z.ZodOptional]>>>; availableColor: z.ZodOptional]>>>; maximumSelection: z.ZodOptional>; minimumSelection: z.ZodOptional>; deselectOnEmpty: z.ZodPreprocess>; objects: z.ZodOptional; dragAnchors: z.ZodOptional; rotation: z.ZodOptional; angle: z.ZodNumber; }, z.core.$strip>>>; }, z.core.$strip>>>>; dragOrigin: z.ZodOptional>>; }, z.core.$strip>>>>; restrictions: z.ZodOptional; angle: z.ZodNumber; }, z.core.$strip>>>; }, z.core.$loose>>>>; plane: z.ZodOptional; type: z.ZodString; origin: z.ZodOptional>; vector_u: z.ZodArray; vector_v: z.ZodArray; rotation: z.ZodOptional; angle: z.ZodNumber; }, z.core.$strip>>>; }, z.core.$loose>>>; corners: z.ZodOptional>; topRight: z.ZodPreprocess>; bottomLeft: z.ZodPreprocess>; bottomRight: z.ZodPreprocess>; }, z.core.$strip>>>; edgeControls: z.ZodOptional>; bottom: z.ZodPreprocess>; left: z.ZodPreprocess>; right: z.ZodPreprocess>; }, z.core.$strip>>>; scaling: z.ZodOptional>; uMin: z.ZodOptional>; uMax: z.ZodOptional>; vMin: z.ZodOptional>; vMax: z.ZodOptional>; step: z.ZodOptional>; visualization: z.ZodOptional>; pointLabels: z.ZodPreprocess>; pointerPosition: z.ZodPreprocess>; distanceMultiplicationFactor: z.ZodOptional>; lines: z.ZodOptional>; points: z.ZodOptional>; wireframe: z.ZodPreprocess>; wireframeColor: z.ZodOptional>; edgeControlVisualization: z.ZodOptional>; points: z.ZodOptional>; }, z.core.$strip>>>; }, z.core.$strip>>>; }, z.core.$strip>>>; rotation: z.ZodOptional>; stepThreshold: z.ZodOptional>; min: z.ZodOptional>; max: z.ZodOptional>; handleDistance: z.ZodOptional>; visualization: z.ZodOptional>; pointLabels: z.ZodPreprocess>; pointerPosition: z.ZodPreprocess>; distanceMultiplicationFactor: z.ZodOptional>; lines: z.ZodOptional>; points: z.ZodOptional>; wireframe: z.ZodPreprocess>; wireframeColor: z.ZodOptional>; edgeControlVisualization: z.ZodOptional>; points: z.ZodOptional>; }, z.core.$strip>>>; }, z.core.$strip>>>; }, z.core.$strip>>>; hover: z.ZodPreprocess>; hoverColor: z.ZodOptional]>>>; prompt: z.ZodOptional>; activeTitle: z.ZodOptional>; activeText: z.ZodOptional>; }, z.core.$strip>>>; activeMode: z.ZodOptional>; occludeBySceneGeometry: z.ZodPreprocess>; }, z.core.$strip>; export declare const IRectangleTransformParameterJsonSchema: z.ZodObject<{ type: z.ZodLiteral<"rectangleTransform">; props: z.ZodObject<{ enableRotation: z.ZodPreprocess>; enableScaling: z.ZodPreprocess>; enableTranslation: z.ZodPreprocess>; nameFilter: z.ZodOptional>>; selectionColor: z.ZodOptional]>>>; availableColor: z.ZodOptional]>>>; maximumSelection: z.ZodOptional>; minimumSelection: z.ZodOptional>; deselectOnEmpty: z.ZodPreprocess>; objects: z.ZodOptional; dragAnchors: z.ZodOptional; rotation: z.ZodOptional; angle: z.ZodNumber; }, z.core.$strip>>>; }, z.core.$strip>>>>; dragOrigin: z.ZodOptional>>; }, z.core.$strip>>>>; restrictions: z.ZodOptional; angle: z.ZodNumber; }, z.core.$strip>>>; }, z.core.$loose>>>>; plane: z.ZodOptional; type: z.ZodString; origin: z.ZodOptional>; vector_u: z.ZodArray; vector_v: z.ZodArray; rotation: z.ZodOptional; angle: z.ZodNumber; }, z.core.$strip>>>; }, z.core.$loose>>>; corners: z.ZodOptional>; topRight: z.ZodPreprocess>; bottomLeft: z.ZodPreprocess>; bottomRight: z.ZodPreprocess>; }, z.core.$strip>>>; edgeControls: z.ZodOptional>; bottom: z.ZodPreprocess>; left: z.ZodPreprocess>; right: z.ZodPreprocess>; }, z.core.$strip>>>; scaling: z.ZodOptional>; uMin: z.ZodOptional>; uMax: z.ZodOptional>; vMin: z.ZodOptional>; vMax: z.ZodOptional>; step: z.ZodOptional>; visualization: z.ZodOptional>; pointLabels: z.ZodPreprocess>; pointerPosition: z.ZodPreprocess>; distanceMultiplicationFactor: z.ZodOptional>; lines: z.ZodOptional>; points: z.ZodOptional>; wireframe: z.ZodPreprocess>; wireframeColor: z.ZodOptional>; edgeControlVisualization: z.ZodOptional>; points: z.ZodOptional>; }, z.core.$strip>>>; }, z.core.$strip>>>; }, z.core.$strip>>>; rotation: z.ZodOptional>; stepThreshold: z.ZodOptional>; min: z.ZodOptional>; max: z.ZodOptional>; handleDistance: z.ZodOptional>; visualization: z.ZodOptional>; pointLabels: z.ZodPreprocess>; pointerPosition: z.ZodPreprocess>; distanceMultiplicationFactor: z.ZodOptional>; lines: z.ZodOptional>; points: z.ZodOptional>; wireframe: z.ZodPreprocess>; wireframeColor: z.ZodOptional>; edgeControlVisualization: z.ZodOptional>; points: z.ZodOptional>; }, z.core.$strip>>>; }, z.core.$strip>>>; }, z.core.$strip>>>; hover: z.ZodPreprocess>; hoverColor: z.ZodOptional]>>>; prompt: z.ZodOptional>; activeTitle: z.ZodOptional>; activeText: z.ZodOptional>; }, z.core.$strip>>>; activeMode: z.ZodOptional>; occludeBySceneGeometry: z.ZodPreprocess>; }, z.core.$strip>; }, z.core.$strip>; export declare const IDraggingParameterPropsJsonSchema: z.ZodObject<{ draggingColor: z.ZodOptional]>>>; availableColor: z.ZodOptional]>>>; objects: z.ZodOptional; dragAnchors: z.ZodOptional; rotation: z.ZodOptional; angle: z.ZodNumber; }, z.core.$strip>>>; }, z.core.$strip>>>>; dragOrigin: z.ZodOptional>>; }, z.core.$strip>>>>; restrictions: z.ZodOptional; angle: z.ZodNumber; }, z.core.$strip>>>; }, z.core.$loose>>>>; hover: z.ZodPreprocess>; hoverColor: z.ZodOptional]>>>; prompt: z.ZodOptional>; activeTitle: z.ZodOptional>; activeText: z.ZodOptional>; }, z.core.$strip>>>; activeMode: z.ZodOptional>; occludeBySceneGeometry: z.ZodPreprocess>; }, z.core.$strip>; export declare const IDraggingParameterJsonSchema: z.ZodObject<{ type: z.ZodLiteral<"dragging">; props: z.ZodObject<{ draggingColor: z.ZodOptional]>>>; availableColor: z.ZodOptional]>>>; objects: z.ZodOptional; dragAnchors: z.ZodOptional; rotation: z.ZodOptional; angle: z.ZodNumber; }, z.core.$strip>>>; }, z.core.$strip>>>>; dragOrigin: z.ZodOptional>>; }, z.core.$strip>>>>; restrictions: z.ZodOptional; angle: z.ZodNumber; }, z.core.$strip>>>; }, z.core.$loose>>>>; hover: z.ZodPreprocess>; hoverColor: z.ZodOptional]>>>; prompt: z.ZodOptional>; activeTitle: z.ZodOptional>; activeText: z.ZodOptional>; }, z.core.$strip>>>; activeMode: z.ZodOptional>; occludeBySceneGeometry: z.ZodPreprocess>; }, z.core.$strip>; }, z.core.$strip>; export declare const IInteractionParameterJsonSchema: z.ZodUnion<[z.ZodUnion<[z.ZodUnion<[z.ZodObject<{ type: z.ZodLiteral<"selection">; props: z.ZodObject<{ maximumSelection: z.ZodOptional>; minimumSelection: z.ZodOptional>; nameFilter: z.ZodOptional>>; selectionColor: z.ZodOptional]>>>; availableColor: z.ZodOptional]>>>; deselectOnEmpty: z.ZodPreprocess>; hover: z.ZodPreprocess>; hoverColor: z.ZodOptional]>>>; prompt: z.ZodOptional>; activeTitle: z.ZodOptional>; activeText: z.ZodOptional>; }, z.core.$strip>>>; activeMode: z.ZodOptional>; occludeBySceneGeometry: z.ZodPreprocess>; }, z.core.$strip>; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"gumball">; props: z.ZodObject<{ enableRotation: z.ZodPreprocess>; enableRotationAxes: z.ZodOptional>; y: z.ZodPreprocess>; z: z.ZodPreprocess>; xy: z.ZodPreprocess>; yz: z.ZodPreprocess>; xz: z.ZodPreprocess>; }, z.core.$strip>>>; enableScaling: z.ZodPreprocess>; enableScalingAxes: z.ZodOptional>; y: z.ZodPreprocess>; z: z.ZodPreprocess>; xy: z.ZodPreprocess>; yz: z.ZodPreprocess>; xz: z.ZodPreprocess>; }, z.core.$strip>>>; enableTranslation: z.ZodPreprocess>; enableTranslationAxes: z.ZodOptional>; y: z.ZodPreprocess>; z: z.ZodPreprocess>; xy: z.ZodPreprocess>; yz: z.ZodPreprocess>; xz: z.ZodPreprocess>; }, z.core.$strip>>>; nameFilter: z.ZodOptional>>; scale: z.ZodOptional>; space: z.ZodOptional, z.ZodLiteral<"world">]>>>; selectionColor: z.ZodOptional]>>>; availableColor: z.ZodOptional]>>>; maximumSelection: z.ZodOptional>; minimumSelection: z.ZodOptional>; deselectOnEmpty: z.ZodPreprocess>; objects: z.ZodOptional; dragAnchors: z.ZodOptional; rotation: z.ZodOptional; angle: z.ZodNumber; }, z.core.$strip>>>; }, z.core.$strip>>>>; dragOrigin: z.ZodOptional>>; }, z.core.$strip>>>>; restrictions: z.ZodOptional; angle: z.ZodNumber; }, z.core.$strip>>>; }, z.core.$loose>>>>; hover: z.ZodPreprocess>; hoverColor: z.ZodOptional]>>>; prompt: z.ZodOptional>; activeTitle: z.ZodOptional>; activeText: z.ZodOptional>; }, z.core.$strip>>>; activeMode: z.ZodOptional>; occludeBySceneGeometry: z.ZodPreprocess>; }, z.core.$strip>; }, z.core.$strip>]>, z.ZodObject<{ type: z.ZodLiteral<"rectangleTransform">; props: z.ZodObject<{ enableRotation: z.ZodPreprocess>; enableScaling: z.ZodPreprocess>; enableTranslation: z.ZodPreprocess>; nameFilter: z.ZodOptional>>; selectionColor: z.ZodOptional]>>>; availableColor: z.ZodOptional]>>>; maximumSelection: z.ZodOptional>; minimumSelection: z.ZodOptional>; deselectOnEmpty: z.ZodPreprocess>; objects: z.ZodOptional; dragAnchors: z.ZodOptional; rotation: z.ZodOptional; angle: z.ZodNumber; }, z.core.$strip>>>; }, z.core.$strip>>>>; dragOrigin: z.ZodOptional>>; }, z.core.$strip>>>>; restrictions: z.ZodOptional; angle: z.ZodNumber; }, z.core.$strip>>>; }, z.core.$loose>>>>; plane: z.ZodOptional; type: z.ZodString; origin: z.ZodOptional>; vector_u: z.ZodArray; vector_v: z.ZodArray; rotation: z.ZodOptional; angle: z.ZodNumber; }, z.core.$strip>>>; }, z.core.$loose>>>; corners: z.ZodOptional>; topRight: z.ZodPreprocess>; bottomLeft: z.ZodPreprocess>; bottomRight: z.ZodPreprocess>; }, z.core.$strip>>>; edgeControls: z.ZodOptional>; bottom: z.ZodPreprocess>; left: z.ZodPreprocess>; right: z.ZodPreprocess>; }, z.core.$strip>>>; scaling: z.ZodOptional>; uMin: z.ZodOptional>; uMax: z.ZodOptional>; vMin: z.ZodOptional>; vMax: z.ZodOptional>; step: z.ZodOptional>; visualization: z.ZodOptional>; pointLabels: z.ZodPreprocess>; pointerPosition: z.ZodPreprocess>; distanceMultiplicationFactor: z.ZodOptional>; lines: z.ZodOptional>; points: z.ZodOptional>; wireframe: z.ZodPreprocess>; wireframeColor: z.ZodOptional>; edgeControlVisualization: z.ZodOptional>; points: z.ZodOptional>; }, z.core.$strip>>>; }, z.core.$strip>>>; }, z.core.$strip>>>; rotation: z.ZodOptional>; stepThreshold: z.ZodOptional>; min: z.ZodOptional>; max: z.ZodOptional>; handleDistance: z.ZodOptional>; visualization: z.ZodOptional>; pointLabels: z.ZodPreprocess>; pointerPosition: z.ZodPreprocess>; distanceMultiplicationFactor: z.ZodOptional>; lines: z.ZodOptional>; points: z.ZodOptional>; wireframe: z.ZodPreprocess>; wireframeColor: z.ZodOptional>; edgeControlVisualization: z.ZodOptional>; points: z.ZodOptional>; }, z.core.$strip>>>; }, z.core.$strip>>>; }, z.core.$strip>>>; hover: z.ZodPreprocess>; hoverColor: z.ZodOptional]>>>; prompt: z.ZodOptional>; activeTitle: z.ZodOptional>; activeText: z.ZodOptional>; }, z.core.$strip>>>; activeMode: z.ZodOptional>; occludeBySceneGeometry: z.ZodPreprocess>; }, z.core.$strip>; }, z.core.$strip>]>, z.ZodObject<{ type: z.ZodLiteral<"dragging">; props: z.ZodObject<{ draggingColor: z.ZodOptional]>>>; availableColor: z.ZodOptional]>>>; objects: z.ZodOptional; dragAnchors: z.ZodOptional; rotation: z.ZodOptional; angle: z.ZodNumber; }, z.core.$strip>>>; }, z.core.$strip>>>>; dragOrigin: z.ZodOptional>>; }, z.core.$strip>>>>; restrictions: z.ZodOptional; angle: z.ZodNumber; }, z.core.$strip>>>; }, z.core.$loose>>>>; hover: z.ZodPreprocess>; hoverColor: z.ZodOptional]>>>; prompt: z.ZodOptional>; activeTitle: z.ZodOptional>; activeText: z.ZodOptional>; }, z.core.$strip>>>; activeMode: z.ZodOptional>; occludeBySceneGeometry: z.ZodPreprocess>; }, z.core.$strip>; }, z.core.$strip>]>; export declare const validateInteractionParameterSettings: (param: unknown) => z.ZodSafeParseResult<{ type: "dragging"; props: { draggingColor?: string | { [x: string]: unknown; } | null | undefined; availableColor?: string | { [x: string]: unknown; } | null | undefined; objects?: { nameFilter: string; restrictions: string[]; dragAnchors?: { id: string; position: number[]; rotation?: { axis: number[]; angle: number; } | null | undefined; }[] | null | undefined; dragOrigin?: number[] | null | undefined; }[] | null | undefined; restrictions?: { [x: string]: unknown; id: string; type: string; rotation?: { axis: number[]; angle: number; } | null | undefined; }[] | null | undefined; hover?: boolean | undefined; hoverColor?: string | { [x: string]: unknown; } | null | undefined; prompt?: { inactiveTitle?: string | null | undefined; activeTitle?: string | null | undefined; activeText?: string | null | undefined; } | null | undefined; activeMode?: "default" | "activeOnStart" | undefined; occludeBySceneGeometry?: boolean | undefined; }; } | { type: "rectangleTransform"; props: { enableRotation?: boolean | undefined; enableScaling?: boolean | undefined; enableTranslation?: boolean | undefined; nameFilter?: string[] | null | undefined; selectionColor?: string | { [x: string]: unknown; } | null | undefined; availableColor?: string | { [x: string]: unknown; } | null | undefined; maximumSelection?: number | null | undefined; minimumSelection?: number | null | undefined; deselectOnEmpty?: boolean | undefined; objects?: { nameFilter: string; restrictions: string[]; dragAnchors?: { id: string; position: number[]; rotation?: { axis: number[]; angle: number; } | null | undefined; }[] | null | undefined; dragOrigin?: number[] | null | undefined; }[] | null | undefined; restrictions?: { [x: string]: unknown; id: string; type: string; rotation?: { axis: number[]; angle: number; } | null | undefined; }[] | null | undefined; plane?: { [x: string]: unknown; type: string; vector_u: number[]; vector_v: number[]; id?: string | undefined; origin?: number[] | undefined; rotation?: { axis: number[]; angle: number; } | null | undefined; } | null | undefined; corners?: { topLeft?: boolean | undefined; topRight?: boolean | undefined; bottomLeft?: boolean | undefined; bottomRight?: boolean | undefined; } | null | undefined; edgeControls?: { top?: boolean | undefined; bottom?: boolean | undefined; left?: boolean | undefined; right?: boolean | undefined; } | null | undefined; scaling?: { uniform?: boolean | undefined; uMin?: number | null | undefined; uMax?: number | null | undefined; vMin?: number | null | undefined; vMax?: number | null | undefined; step?: number | null | undefined; visualization?: { distanceLabels?: boolean | undefined; pointLabels?: boolean | undefined; pointerPosition?: boolean | undefined; distanceMultiplicationFactor?: number | null | undefined; lines?: any; points?: any; wireframe?: boolean | undefined; wireframeColor?: string | null | undefined; edgeControlVisualization?: { lines?: any; points?: any; } | null | undefined; } | null | undefined; } | null | undefined; rotation?: { step?: number | null | undefined; stepThreshold?: number | null | undefined; min?: number | null | undefined; max?: number | null | undefined; handleDistance?: number | null | undefined; visualization?: { distanceLabels?: boolean | undefined; pointLabels?: boolean | undefined; pointerPosition?: boolean | undefined; distanceMultiplicationFactor?: number | null | undefined; lines?: any; points?: any; wireframe?: boolean | undefined; wireframeColor?: string | null | undefined; edgeControlVisualization?: { lines?: any; points?: any; } | null | undefined; } | null | undefined; } | null | undefined; hover?: boolean | undefined; hoverColor?: string | { [x: string]: unknown; } | null | undefined; prompt?: { inactiveTitle?: string | null | undefined; activeTitle?: string | null | undefined; activeText?: string | null | undefined; } | null | undefined; activeMode?: "default" | "activeOnStart" | undefined; occludeBySceneGeometry?: boolean | undefined; }; } | { type: "selection"; props: { maximumSelection?: number | null | undefined; minimumSelection?: number | null | undefined; nameFilter?: string[] | null | undefined; selectionColor?: string | { [x: string]: unknown; } | null | undefined; availableColor?: string | { [x: string]: unknown; } | null | undefined; deselectOnEmpty?: boolean | undefined; hover?: boolean | undefined; hoverColor?: string | { [x: string]: unknown; } | null | undefined; prompt?: { inactiveTitle?: string | null | undefined; activeTitle?: string | null | undefined; activeText?: string | null | undefined; } | null | undefined; activeMode?: "default" | "activeOnStart" | undefined; occludeBySceneGeometry?: boolean | undefined; }; } | { type: "gumball"; props: { enableRotation?: boolean | undefined; enableRotationAxes?: { x?: boolean | undefined; y?: boolean | undefined; z?: boolean | undefined; xy?: boolean | undefined; yz?: boolean | undefined; xz?: boolean | undefined; } | null | undefined; enableScaling?: boolean | undefined; enableScalingAxes?: { x?: boolean | undefined; y?: boolean | undefined; z?: boolean | undefined; xy?: boolean | undefined; yz?: boolean | undefined; xz?: boolean | undefined; } | null | undefined; enableTranslation?: boolean | undefined; enableTranslationAxes?: { x?: boolean | undefined; y?: boolean | undefined; z?: boolean | undefined; xy?: boolean | undefined; yz?: boolean | undefined; xz?: boolean | undefined; } | null | undefined; nameFilter?: string[] | null | undefined; scale?: number | null | undefined; space?: "local" | "world" | null | undefined; selectionColor?: string | { [x: string]: unknown; } | null | undefined; availableColor?: string | { [x: string]: unknown; } | null | undefined; maximumSelection?: number | null | undefined; minimumSelection?: number | null | undefined; deselectOnEmpty?: boolean | undefined; objects?: { nameFilter: string; restrictions: string[]; dragAnchors?: { id: string; position: number[]; rotation?: { axis: number[]; angle: number; } | null | undefined; }[] | null | undefined; dragOrigin?: number[] | null | undefined; }[] | null | undefined; restrictions?: { [x: string]: unknown; id: string; type: string; rotation?: { axis: number[]; angle: number; } | null | undefined; }[] | null | undefined; hover?: boolean | undefined; hoverColor?: string | { [x: string]: unknown; } | null | undefined; prompt?: { inactiveTitle?: string | null | undefined; activeTitle?: string | null | undefined; activeText?: string | null | undefined; } | null | undefined; activeMode?: "default" | "activeOnStart" | undefined; occludeBySceneGeometry?: boolean | undefined; }; }>; export declare const validateSelectionParameterSettings: (param: unknown) => z.ZodSafeParseResult<{ type: "selection"; props: { maximumSelection?: number | null | undefined; minimumSelection?: number | null | undefined; nameFilter?: string[] | null | undefined; selectionColor?: string | { [x: string]: unknown; } | null | undefined; availableColor?: string | { [x: string]: unknown; } | null | undefined; deselectOnEmpty?: boolean | undefined; hover?: boolean | undefined; hoverColor?: string | { [x: string]: unknown; } | null | undefined; prompt?: { inactiveTitle?: string | null | undefined; activeTitle?: string | null | undefined; activeText?: string | null | undefined; } | null | undefined; activeMode?: "default" | "activeOnStart" | undefined; occludeBySceneGeometry?: boolean | undefined; }; }>; export declare const validateGumballTransformParameterSettings: (param: unknown) => z.ZodSafeParseResult<{ type: "gumball"; props: { enableRotation?: boolean | undefined; enableRotationAxes?: { x?: boolean | undefined; y?: boolean | undefined; z?: boolean | undefined; xy?: boolean | undefined; yz?: boolean | undefined; xz?: boolean | undefined; } | null | undefined; enableScaling?: boolean | undefined; enableScalingAxes?: { x?: boolean | undefined; y?: boolean | undefined; z?: boolean | undefined; xy?: boolean | undefined; yz?: boolean | undefined; xz?: boolean | undefined; } | null | undefined; enableTranslation?: boolean | undefined; enableTranslationAxes?: { x?: boolean | undefined; y?: boolean | undefined; z?: boolean | undefined; xy?: boolean | undefined; yz?: boolean | undefined; xz?: boolean | undefined; } | null | undefined; nameFilter?: string[] | null | undefined; scale?: number | null | undefined; space?: "local" | "world" | null | undefined; selectionColor?: string | { [x: string]: unknown; } | null | undefined; availableColor?: string | { [x: string]: unknown; } | null | undefined; maximumSelection?: number | null | undefined; minimumSelection?: number | null | undefined; deselectOnEmpty?: boolean | undefined; objects?: { nameFilter: string; restrictions: string[]; dragAnchors?: { id: string; position: number[]; rotation?: { axis: number[]; angle: number; } | null | undefined; }[] | null | undefined; dragOrigin?: number[] | null | undefined; }[] | null | undefined; restrictions?: { [x: string]: unknown; id: string; type: string; rotation?: { axis: number[]; angle: number; } | null | undefined; }[] | null | undefined; hover?: boolean | undefined; hoverColor?: string | { [x: string]: unknown; } | null | undefined; prompt?: { inactiveTitle?: string | null | undefined; activeTitle?: string | null | undefined; activeText?: string | null | undefined; } | null | undefined; activeMode?: "default" | "activeOnStart" | undefined; occludeBySceneGeometry?: boolean | undefined; }; }>; export declare const validateDraggingParameterSettings: (param: unknown) => z.ZodSafeParseResult<{ type: "dragging"; props: { draggingColor?: string | { [x: string]: unknown; } | null | undefined; availableColor?: string | { [x: string]: unknown; } | null | undefined; objects?: { nameFilter: string; restrictions: string[]; dragAnchors?: { id: string; position: number[]; rotation?: { axis: number[]; angle: number; } | null | undefined; }[] | null | undefined; dragOrigin?: number[] | null | undefined; }[] | null | undefined; restrictions?: { [x: string]: unknown; id: string; type: string; rotation?: { axis: number[]; angle: number; } | null | undefined; }[] | null | undefined; hover?: boolean | undefined; hoverColor?: string | { [x: string]: unknown; } | null | undefined; prompt?: { inactiveTitle?: string | null | undefined; activeTitle?: string | null | undefined; activeText?: string | null | undefined; } | null | undefined; activeMode?: "default" | "activeOnStart" | undefined; occludeBySceneGeometry?: boolean | undefined; }; }>; export declare const validateRectangleTransformParameterSettings: (param: unknown) => z.ZodSafeParseResult<{ type: "rectangleTransform"; props: { enableRotation?: boolean | undefined; enableScaling?: boolean | undefined; enableTranslation?: boolean | undefined; nameFilter?: string[] | null | undefined; selectionColor?: string | { [x: string]: unknown; } | null | undefined; availableColor?: string | { [x: string]: unknown; } | null | undefined; maximumSelection?: number | null | undefined; minimumSelection?: number | null | undefined; deselectOnEmpty?: boolean | undefined; objects?: { nameFilter: string; restrictions: string[]; dragAnchors?: { id: string; position: number[]; rotation?: { axis: number[]; angle: number; } | null | undefined; }[] | null | undefined; dragOrigin?: number[] | null | undefined; }[] | null | undefined; restrictions?: { [x: string]: unknown; id: string; type: string; rotation?: { axis: number[]; angle: number; } | null | undefined; }[] | null | undefined; plane?: { [x: string]: unknown; type: string; vector_u: number[]; vector_v: number[]; id?: string | undefined; origin?: number[] | undefined; rotation?: { axis: number[]; angle: number; } | null | undefined; } | null | undefined; corners?: { topLeft?: boolean | undefined; topRight?: boolean | undefined; bottomLeft?: boolean | undefined; bottomRight?: boolean | undefined; } | null | undefined; edgeControls?: { top?: boolean | undefined; bottom?: boolean | undefined; left?: boolean | undefined; right?: boolean | undefined; } | null | undefined; scaling?: { uniform?: boolean | undefined; uMin?: number | null | undefined; uMax?: number | null | undefined; vMin?: number | null | undefined; vMax?: number | null | undefined; step?: number | null | undefined; visualization?: { distanceLabels?: boolean | undefined; pointLabels?: boolean | undefined; pointerPosition?: boolean | undefined; distanceMultiplicationFactor?: number | null | undefined; lines?: any; points?: any; wireframe?: boolean | undefined; wireframeColor?: string | null | undefined; edgeControlVisualization?: { lines?: any; points?: any; } | null | undefined; } | null | undefined; } | null | undefined; rotation?: { step?: number | null | undefined; stepThreshold?: number | null | undefined; min?: number | null | undefined; max?: number | null | undefined; handleDistance?: number | null | undefined; visualization?: { distanceLabels?: boolean | undefined; pointLabels?: boolean | undefined; pointerPosition?: boolean | undefined; distanceMultiplicationFactor?: number | null | undefined; lines?: any; points?: any; wireframe?: boolean | undefined; wireframeColor?: string | null | undefined; edgeControlVisualization?: { lines?: any; points?: any; } | null | undefined; } | null | undefined; } | null | undefined; hover?: boolean | undefined; hoverColor?: string | { [x: string]: unknown; } | null | undefined; prompt?: { inactiveTitle?: string | null | undefined; activeTitle?: string | null | undefined; activeText?: string | null | undefined; } | null | undefined; activeMode?: "default" | "activeOnStart" | undefined; occludeBySceneGeometry?: boolean | undefined; }; }>; //# sourceMappingURL=IInteractionParameterSettings.d.ts.map