import type { Body, Node } from '../../schema'; export type CompositeBody = Extract; export type BodyNodeType = 'primitive' | 'group' | 'light'; export declare function inferBodyNodeType(node: Partial | undefined | null): BodyNodeType; export declare function resolveBodyPartDisplayName(node: Partial | undefined | null): string; export declare function hydrateBodyNodeTypes(node: Node): Node; export declare function hydrateCompositeBodyTypes(body: CompositeBody | undefined): CompositeBody | undefined; export declare function normalizeBodyPartPath(input: unknown): number[]; /** * Get part at a specific path in a composite body */ export declare function getPartAtPath(body: CompositeBody | undefined, partPath: number[]): Node | null; /** * Replace part at a specific path in a composite body */ export declare function replacePartAtPath(body: CompositeBody | undefined, partPath: number[], replacement: Node): CompositeBody | undefined; /** * Remove part at a specific path in a composite body */ export declare function removePartAtPath(body: CompositeBody | undefined, partPath: number[]): CompositeBody | undefined; /** * Append a part at the specified parent path (root parts array when empty) */ export declare function appendPartAtPath(body: CompositeBody | undefined, parentPath: number[], newPart: Node): { body: CompositeBody; path: number[]; } | null; //# sourceMappingURL=bodyParts.d.ts.map