/**
 * companion-chat-routes.ts
 *
 * HTTP route handlers for the companion-app chat-mode API.
 *
 * Routes:
 *   POST   /api/companion/chat/sessions
 *   GET    /api/companion/chat/sessions/:sessionId
 *   PATCH  /api/companion/chat/sessions/:sessionId
 *   DELETE /api/companion/chat/sessions/:sessionId
 *   POST   /api/companion/chat/sessions/:sessionId/messages
 *   GET    /api/companion/chat/sessions/:sessionId/messages
 *   GET    /api/companion/chat/sessions/:sessionId/events  (SSE)
 *
 * All routes require the existing daemon bearer-token auth (enforced by the
 * caller — DaemonHttpRouter.handleRequest already validates auth before
 * dispatching to API routes).
 */
import type { CompanionChatRouteContext } from './companion-chat-route-types.js';
/**
 * Try to handle a companion chat route. Returns null if the path/method
 * does not match, so the caller can fall through to other route groups.
 */
export declare function dispatchCompanionChatRoutes(req: Request, context: CompanionChatRouteContext): Promise<Response | null>;
/**
 * Read the message content from an incoming POST body.
 * Returns empty string when neither field is present — the caller must
 * check for empty and return 400 INVALID_INPUT.
 *
 * @param body - Parsed JSON body from the request.
 * @returns Raw (un-trimmed) string value, or '' if neither field is present.
 */
export declare function readCompanionChatMessageBody(body: Record<string, unknown>): string;
//# sourceMappingURL=companion-chat-routes.d.ts.map