import { type SystemHandle, type World } from '@forgeax/engine-ecs'; import { type Result } from '@forgeax/engine-types'; import { SceneError } from '../errors'; export declare const PROPAGATE_TRANSFORMS_SYSTEM: "propagateTransforms"; export declare const PROPAGATE_TRANSFORMS_FIXED_SYSTEM: "propagateTransformsFixed"; export declare const TransformSet: import("@forgeax/engine-ecs").SystemSet; export declare const TransformFixedSet: import("@forgeax/engine-ecs").SystemSet; /** * Optional, test-owned counters for the parent-first executor. The counters * are disabled unless a caller brackets a run with begin/end; production * propagation therefore pays only one predictable branch per instrumented * event. They are deliberately not a second execution state or a public * dirty/cache contract. */ export interface TransformPropagationTrace { hierarchyRootInvocations: number; hierarchyRootCursorReuses: number; hierarchyRootCursorAllocations: number; hierarchyEntityLookups: number; hierarchyRowsEvaluated: number; hierarchyEdgesVisited: number; hierarchyPublishedRows: number; hierarchyPublishedRuns: number; hierarchyResidualParentProbes: number; flatStructuralRootRows: number; } export declare function beginTransformPropagationTrace(): void; export declare function endTransformPropagationTrace(): TransformPropagationTrace; export declare function propagateTransforms(world: World): Result; export declare const PropagateTransforms: SystemHandle; export declare const PropagateTransformsFixed: SystemHandle; export declare function registerPropagateTransforms(world: World, options?: { beforeSystemName?: string; }): () => void; //# sourceMappingURL=propagate-transforms.d.ts.map