/** * Setup WebSocket Handler - backend-powered interactive setup */ import type { WebSocketServer } from 'ws'; import type { IModelRunner } from '../agent/model-runner.js'; import { createBackendModelRunner, type BackendModelRunnerOptions } from '../agent/backend-model-runner-factory.js'; import type { MAMAConfig } from '../cli/config/types.js'; import { type SetupActionExecutor } from './setup-actions.js'; export interface SetupWebSocketLifecycle { close(): Promise; } export interface SetupWebSocketSecurity { allowedOrigins: readonly string[]; consumeNonce(nonce: string): boolean; } export declare function createSetupModelRunner(config: MAMAConfig, sessionId: string, createRunner?: (config: MAMAConfig, options: BackendModelRunnerOptions) => IModelRunner): IModelRunner; export declare function createSetupWebSocketHandler(wss: WebSocketServer, createRunner?: typeof createBackendModelRunner, createActionExecutor?: () => SetupActionExecutor, security?: SetupWebSocketSecurity): SetupWebSocketLifecycle; //# sourceMappingURL=setup-websocket.d.ts.map