import { MatrixActor } from '../../core/MatrixActor';
import type { SExpr } from '../SExpr';
import { getVLMNamespace } from './VLMRouter';
/**
 * VLMEntryPoint - User sends expressions here
 *
 * Provides the main eval interface for the Virtual LISP Machine:
 * - Parses S-expression strings if needed
 * - Decides on parallel vs sequential evaluation
 * - Uses traveling interpreter (METACIRCULAR_EVAL) by default
 * - Supports custom traveling interpreters
 *
 * Mount: {namespace}.vlm-eval
 *
 * @example
 * // With traveling interpreter (default)
 * await callComponent('flowpad.vlm-eval', 'eval', {
 *   expr: '(+ 1 2 (* 3 4))'
 * })
 * // → 15
 *
 * @example
 * // Bootstrap-only (no traveling interpreter)
 * await callComponent('flowpad.vlm-eval', 'eval', {
 *   expr: ['+', 1, 2, 3],
 *   eval: null  // Use bootstrap directly
 * })
 */
export declare class VLMEntryPoint extends MatrixActor {
    private _pendingEvals;
    protected _ns: ReturnType<typeof getVLMNamespace>;
    private _responseTopicBase;
    static accepts: {
        eval: {
            expr: string;
            eval: string;
            options: string;
        };
        receiveResult: {
            traceId: string;
            result: string;
        };
    };
    static emits: {
        evaluationStarted: {
            traceId: string;
            expr: string;
        };
        evaluationComplete: {
            traceId: string;
            result: string;
            durationMs: string;
        };
        evaluationError: {
            traceId: string;
            error: string;
        };
    };
    protected onBootstrap(): Promise<void>;
    onReceiveResult(params: {
        traceId: string;
        result: unknown;
    }): Promise<{
        success: boolean;
    }>;
    onEval(params: {
        expr: SExpr | string;
        eval?: SExpr | null;
        options?: {
            parallel?: boolean;
            timeout?: number;
        };
    }): Promise<unknown>;
}
//# sourceMappingURL=VLMEntryPoint.d.ts.map