import type { Activix } from './Activix.js'; import type { ActivixCollectionLegendOwner, ActivixTrackingManager } from '@x12i/activix-contracts'; export declare class ActivixTrackingManagerError extends Error { readonly code: 'UNKNOWN_COMPONENT' | 'NOT_CONFIGURABLE' | 'TRACKING_CHANGES_LOCKED'; constructor(code: ActivixTrackingManagerError['code'], message: string); } export type CreateActivixTrackingManagerOptions = { /** * When this returns true, {@link ActivixTrackingManager.setTrackingState} rejects with * `TRACKING_CHANGES_LOCKED` (e.g. while a graph run is in progress). */ isTrackingChangeLocked?: () => boolean | Promise; /** Overrides legend `owner` when a collection has no legend row yet. */ defaultOwner?: ActivixCollectionLegendOwner; }; /** * Component-level tracking controls for one Activix instance (maps to legend `state` per collection). */ export declare function createActivixTrackingManager(activix: Activix, options?: CreateActivixTrackingManagerOptions): ActivixTrackingManager; export type ComposeActivixTrackingManagersOptions = { /** When set, only the first manager that owns a componentId may apply changes. */ strictOwnership?: boolean; isTrackingChangeLocked?: () => boolean | Promise; }; /** * Merge package-owned managers for composed runtime object trees. * `listTrackingTargets` returns the union; `setTrackingState` routes to the owning manager. */ export declare function composeActivixTrackingManagers(managers: ActivixTrackingManager[], options?: ComposeActivixTrackingManagersOptions): ActivixTrackingManager; //# sourceMappingURL=activixTrackingManager.d.ts.map