/** * @fileoverview Session REST API - HTTP endpoints for session management * @module mobile/session-api * @version 1.5.0 * * Provides REST API endpoints for creating, listing, and terminating * Claude Code sessions. * * @example * import { createSessionHandler } from './session-api'; * const sessionHandler = createSessionHandler(sessionManager); * // Use in HTTP server: if (sessionHandler(req, res)) return; */ import type { IncomingMessage, ServerResponse } from 'http'; import { SessionManager } from './session-manager.js'; /** * Default WebSocket port (same as HTTP port) */ export declare const DEFAULT_WS_PORT: number; /** * Request body type */ interface RequestBody { projectDir?: string; workDir?: string; } /** * Parse request body as JSON * @param req - HTTP request * @returns Parsed JSON body */ export declare function readBody(req: IncomingMessage): Promise; /** * Extract session ID from URL path * @param url - Request URL * @returns Session ID or null */ export declare function extractSessionId(url: string): string | null; /** * Get WebSocket URL for a session * @param req - HTTP request * @param sessionId - Session ID * @returns WebSocket URL */ export declare function getWsUrl(req: IncomingMessage, sessionId: string): string; /** * Session handler function type */ type SessionHandler = (req: IncomingMessage, res: ServerResponse) => Promise; /** * Create session API request handler * @param sessionManager - Session manager instance (will create if not provided) * @returns Request handler function */ export declare function createSessionHandler(sessionManager?: SessionManager | null): SessionHandler; export {}; //# sourceMappingURL=session-api.d.ts.map