/** * Shared engine setup for the Ball TS self-hosted engine. * * This module factors the proto3-JSON normalization, method-dispatch handler, * extra std-function registrations, and compiled-engine patches OUT of * index.ts so they can be applied to ANY compiled-engine module instance — * both the committed `compiled_engine.ts` (used by index.ts / ts/engine) and * a freshly compiled engine (used by the Phase 2.7b conformance harness in * ts/compiler). * * The single source of truth for 'what a working engine needs' therefore * lives here, eliminating drift between the two harnesses. * * `createEngineSetup(mod)` takes the compiled-engine module namespace * (its exports: BallEngine, StdModuleHandler, BallGenerator, _FlowSignal, and * optionally BallFuture) and returns the bound setup helpers. */ export interface EngineModule { BallEngine: any; StdModuleHandler: any; BallGenerator: any; _FlowSignal: any; BallFuture?: any; [k: string]: any; } export declare function createEngineSetup(mod: EngineModule): { protoWrap: (obj: any, isMetadata?: boolean) => any; wrapValue: (raw: any) => any; __bts: (v: any) => string; BallFuture: any; MethodDispatchHandler: { new (): { handles(module: any): boolean; init(_engine: any): void; call(fn: string, input: any, _engine: any): any; }; }; registerExtraStdFunctions: (stdHandler: any, engine: any) => void; patchCompiledEngine: (engine: any) => void; seedGlobalScope: (engine: any) => void; patchScopeBindings: (globalScope: any) => void; _isFutureLike: (v: any) => boolean; _unwrapBallValue: (v: any) => any; }; //# sourceMappingURL=engine_setup.d.ts.map