import { Core } from '../../../wasm/dist';
import { NodeRunFunctionReturnType } from '../entities/node-run-function-return-type';
/**
 * Handler type for functions callable from Visual Scripting.
 * Receives named parameters and should return either a NodeRunFunctionReturnType
 * (to control exit port and named outputs) or a plain value (exits via "Success",
 * exposes result on the "result" output port).
 */
export type RunFunctionHandler = (params: Record<string, unknown>) => NodeRunFunctionReturnType | unknown;
/**
 * Manages registration of TypeScript functions callable from Visual Scripting nodes.
 *
 * Usage:
 *   RunFunctionManager.register("MyNamespace.myMethod", (params) => {
 *     const score = params["Score"] as number;
 *     return new NodeRunFunctionReturnType({ FinalScore: score * 2 }, "Pass");
 *   });
 */
export declare class RunFunctionManager {
    private static wasm;
    private static handlers;
    static init(wasm: Core): void;
    static cleanup(): void;
    /**
     * Register a handler for a given path (e.g. "MyClass.myMethod" or "Namespace.Class.method").
     * The path must match exactly what is configured on the RunFunction node in the CMS.
     */
    static register(path: string, handler: RunFunctionHandler): void;
    /** Remove a previously registered handler. */
    static unregister(path: string): void;
    private static onRunFunctionRequested;
    private static convertParameters;
    private static convertValue;
    private static sendSuccessResponse;
    private static sendErrorResponse;
    private static getTypeString;
}
//# sourceMappingURL=run-function-manager.class.d.ts.map