/**
 * OpenAI Chat Completions passthrough endpoint.
 *
 * Forwards /v1/chat/completions to the right upstream per the requested
 * model: cloud OpenAI-compatible endpoints (kimi / deepseek / mimo / etc.)
 * get their own `endpoint` + Bearer auth applied, local runtimes go to
 * `routerUrl`. Routing decisions are delegated to `resolveModelRoute`,
 * the same function `/v1/messages` uses — so the per-model `endpoint`
 * field works the same way on both surfaces.
 *
 * 2026-05-29: previously this endpoint unconditionally forwarded every
 * request to `${routerUrl}/v1/chat/completions` regardless of which
 * model was requested. That made cloud-tier models 404 because the
 * local MLX router doesn't host them, violating the README +
 * system-architecture + goal-contract promise that
 * /v1/chat/completions is an OpenAI-compatible passthrough across the
 * full configured model registry. Fix: call resolveModelRoute and
 * forward to the resolved upstream with the route's auth headers.
 *
 * Anthropic-protocol endpoints (translate=false routes) need an
 * OpenAI→Anthropic body translation that this endpoint does not
 * implement yet. We surface a clear 400 pointing the caller at
 * /v1/messages instead of silently failing or producing a confusing
 * 4xx from the upstream.
 */
import * as http from 'node:http';
import type { OwlCodaConfig } from '../config.js';
export declare function handleChatCompletions(_req: http.IncomingMessage, res: http.ServerResponse, config: OwlCodaConfig, rawBody: string): Promise<void>;
