import { type MaterialOverride, type SceneDocumentData } from "@skenora/contracts"; import { type ScenePlanDiagnostic } from "../diagnostics/diagnostics.js"; import { type FragmentPath } from "./boundary.js"; import type { FragmentFlowReference } from "./flows.js"; import type { PlanSceneFragmentInsertionOptions, SceneFragmentContext, SceneFragmentIdentityKind, SceneFragmentIdentityMapping, SceneFragmentSharedMaterialImpact, SceneFragmentData } from "./types.js"; export declare function configuredValue(value: unknown, path: readonly string[]): unknown; export declare function fragmentWarning(code: string, path: FragmentPath, message: string): ScenePlanDiagnostic; export interface FragmentInsertionMappings { readonly wrapperId: string; readonly entries: SceneFragmentIdentityMapping[]; readonly sharedMaterialImpacts: SceneFragmentSharedMaterialImpact[]; get(kind: SceneFragmentIdentityKind, id: string): string; isReusedMaterial(id: string): boolean; } /** Each identity domain has its own map; only explicit resource/material reuse aliases IDs. */ export declare function createInsertionMappings(fragment: SceneFragmentData, target: Readonly, options: PlanSceneFragmentInsertionOptions, context: SceneFragmentContext, references: readonly FragmentFlowReference[], diagnostics: ScenePlanDiagnostic[]): FragmentInsertionMappings; export declare function remapMaterialAssets(material: Readonly, getAssetId: (id: string) => string): MaterialOverride; //# sourceMappingURL=insertion-mappings.d.ts.map