/** * A pluggable transform handler: `(value, fields, config) => result`. Same call shape as the built-in * transforms, so a plugin is indistinguishable from a built-in at the call site. */ export type FieldTransformPlugin = (value: unknown, fields: Record, config: unknown) => unknown; /** * Registers a transform plugin by type name so the {@link FieldTransformEngine} can dispatch a * non-built-in transform to it. * * This is how heavier transforms (e.g. `jsonpath`, `xpath`) are added WITHOUT making their libraries * (jsonpath-plus, xpath, @xmldom/xmldom, …) dependencies of this foundational package: a separate * package owns the libs, implements the handler, and calls this at module-load to register it. Any * `FieldTransformEngine` in the process (integration sync, rules-based bulk update, …) then supports the * transform — the engine stays lib-free, the plugin owns the deps. Idempotent per type (last wins). * * @param type - The transform `Type` string (case-insensitive), e.g. `'jsonpath'`. * @param plugin - The handler. */ export declare function RegisterFieldTransform(type: string, plugin: FieldTransformPlugin): void; /** Returns the registered plugin for a transform type, or `undefined` if none is registered. */ export declare function GetFieldTransform(type: string): FieldTransformPlugin | undefined; //# sourceMappingURL=transformRegistry.d.ts.map