import { a6 as SceneLight, o as ObjectBinding, L as ObjectBindingType } from './rendererBackend-QwMzISTn.js'; export { f as AnimationLoopMode, B as BindingEdit, D as DEFAULT_SCENE_CONFIG, j as DEFAULT_SECTION_CONFIG, k as DeepPartial, E as EnvironmentPreset, G as GlitchModeName, I as IsolatedObjectBindings, K as KernelSizeName, M as MATERIAL_BLENDING_MODES, m as MATERIAL_SIDES, n as ObjectActionEvent, p as ObjectBindingAction, q as ObjectBindingCameraState, r as ObjectBindingDecal, s as ObjectBindingMaterial, t as ObjectBindingMaterialBlendingMode, u as ObjectBindingMaterialSide, v as ObjectBindingPatch, w as ObjectBindingSelector, x as ObjectBindingStatus, y as ObjectBindingStyle, z as ObjectBindingTarget, F as ObjectBindingTextureChannel, H as ObjectBindingTextureSlot, J as ObjectBindingTransform, P as ObjectPointerEvent, Q as ObjectSurfacePoint, R as RampTypeName, S as RendererBackend, T as SceneAnimationClipConfig, U as SceneAnimationConfig, V as SceneAnnotationCameraView, W as SceneAnnotationImage, X as SceneAnnotationLink, Y as SceneAnnotationMarker, Z as SceneBackgroundConfig, _ as SceneCameraConfig, $ as SceneCinematicConfig, a0 as SceneCinematicWaypoint, a1 as SceneConfig, a3 as SceneConfigPatch, a4 as SceneEnvironmentConfig, a5 as SceneGroundShadowConfig, a7 as SceneLightAttachment, a8 as SceneLightType, a9 as SceneLightingConfig, aa as SceneModelConfig, ab as SceneModelRenderer, ac as ScenePostProcessingConfig, ad as SceneSectionAxis, ae as SceneSectionConfig, af as SceneShadowConfig, ag as SceneStyleColorScale, ah as SceneStyleCondition, ai as SceneStylePulse, aj as SceneStyleRule, ak as SceneWireframeConfig, al as StyledObjectBindings, am as StyledObjectPulse, aq as ViewerIsolation, ar as ViewerObjectInfo, at as applyIsolation, au as applyStyleRules, av as colorScaleValue, aw as isolatedBindingKeys, ax as material, ay as patchBindings, az as patchSceneConfig, aA as selectBindingKeys, aB as selectBindings } from './rendererBackend-QwMzISTn.js'; export { D as DEFAULT_MODEL_VIEWER_LABELS, M as MaterialVariantGroup, a as MaterialVariantOption, b as ModelViewerLabelKey, c as ModelViewerLabels, R as ReducedMotionSetting, d as chooseMaterialVariant } from './materialVariants-DnZe9eMC.js'; /** A light's id plus whichever of its settings you want to set. */ type SceneLightInput = Pick & Partial>; /** * A complete scene light from just the settings you care about; the rest take * their defaults (a white, visible, non-shadowing point light at the origin). * Use it to list lights in `sceneConfig.lighting.lights`: * * ```ts * patchSceneConfig(DEFAULT_SCENE_CONFIG, { * lighting: { * lights: [ * sceneLight({ id: "key", type: "directional", position: [4, 8, 4], castShadow: true }), * ], * }, * }); * ``` */ declare function sceneLight(light: SceneLightInput): SceneLight; /** * Validates an object-bindings literal while preserving its exact keys and * literal values for TypeScript autocomplete and derived union types. * * This is an identity function at runtime. */ declare function defineObjectBindings>(bindings: TBindings): TBindings; /** Binding-map keys preserved by defineObjectBindings. */ type ObjectBindingKey> = Extract; /** Action ids declared on one binding in a defined bindings map. */ type ObjectBindingActionId, TKey extends ObjectBindingKey> = TBindings[TKey]["actions"] extends readonly (infer TAction)[] ? TAction extends { id: infer TId extends string; } ? TId : never : never; declare function inferType(nodeName: string): ObjectBindingType; declare function createDefaultBinding(nodeName: string, takesImage?: boolean): ObjectBinding; declare function buildBindingsFromNodes(nodeNames: string[], withoutUvs?: ReadonlySet): Record; /** * The action ids the runtime actually recognises. * * `ObjectBindingAction["id"]` is a widened string union, so any typo type-checks * and then falls through ModelViewer's `handleAction` switch to `default: break` * — the button renders and silently does nothing. This catalog is what the * Binding Builder offers in a dropdown so authors pick instead of type. */ type ActionHandling = "viewer" | "host"; type ActionCatalogEntry = { id: string; label: string; /** * "viewer" — ModelViewer's own `handleAction` switch implements the behaviour. * "host" — a naming convention only; the viewer just forwards it to the * consumer's `onAction` callback, which must implement it. */ handling: ActionHandling; description: string; }; declare const ACTION_CATALOG: readonly ActionCatalogEntry[]; declare function findCatalogAction(id: string): ActionCatalogEntry | undefined; export { ACTION_CATALOG, type ActionCatalogEntry, type ActionHandling, ObjectBinding, type ObjectBindingActionId, type ObjectBindingKey, ObjectBindingType, SceneLight, type SceneLightInput, buildBindingsFromNodes, createDefaultBinding, defineObjectBindings, findCatalogAction, inferType, sceneLight };