/**
 * Worker-global boundary — wires the worker's `self` (or any `WorkerPort`)
 * to a runtime + controller pair. Lives on the worker side of the boundary
 * and is the single place that owns disposal of all three sub-bindings.
 */
import type { EmbeddedAgentRuntime } from '../../contracts/agent-api.js';
import type { ToolRegistry } from '../../contracts/host-tool-api.js';
import { type WorkerPort } from './worker-port.js';
/** Lifecycle handle returned by `attachEmbeddedAgent*`. */
export interface WorkerGlobalBinding {
    dispose(): void;
}
/** Bind `runtime` to `port` with a controller and the worker-port adapter. */
export declare function attachEmbeddedAgent(runtime: EmbeddedAgentRuntime, port: WorkerPort, registry?: ToolRegistry): WorkerGlobalBinding;
/** Convenience overload that defaults the port to the worker `self`. */
export declare function attachEmbeddedAgentToGlobal(runtime: EmbeddedAgentRuntime, globalPort?: WorkerPort, registry?: ToolRegistry): WorkerGlobalBinding;
//# sourceMappingURL=worker-global.d.ts.map