/** * Zoe Server — Settings REST & WebSocket Handlers * * REST endpoints and WS message handlers for settings management. */ import type { IncomingMessage, ServerResponse } from 'http'; import { SettingsManager } from '../../core/settings-manager.js'; import type { WebSocket, ConnectionState } from './ws-types.js'; export interface SettingsHandlerContext { settingsManager: SettingsManager; /** Get all connected WS clients (excluding sender) */ getOtherClients: (excludeWs?: WebSocket) => Array<{ ws: WebSocket; state: ConnectionState; }>; } export declare function handleGetSettings(req: IncomingMessage, res: ServerResponse, ctx: SettingsHandlerContext, category?: string): Promise; export declare function handlePatchSettings(req: IncomingMessage, res: ServerResponse, ctx: SettingsHandlerContext, category?: string): Promise; export declare function handleGetSettingsSchema(req: IncomingMessage, res: ServerResponse, ctx: SettingsHandlerContext): Promise; export declare function handlePostProvider(req: IncomingMessage, res: ServerResponse, ctx: SettingsHandlerContext): Promise; export declare function handlePatchProvider(req: IncomingMessage, res: ServerResponse, ctx: SettingsHandlerContext, providerType: string): Promise; export declare function handleDeleteProvider(req: IncomingMessage, res: ServerResponse, ctx: SettingsHandlerContext, providerType: string): Promise; export declare function handleWsGetSettings(msg: any, ws: WebSocket, state: ConnectionState, ctx: SettingsHandlerContext): void; export declare function handleWsUpdateSettings(msg: any, ws: WebSocket, state: ConnectionState, ctx: SettingsHandlerContext): Promise;