import { Journal } from "./journal.cjs";
import { ChatCompletionRequest, Fixture, HandlerDefaults } from "./types.cjs";
import * as http$1 from "node:http";

//#region src/cohere.d.ts

interface CohereToolCallDef {
  id?: string;
  type: string;
  function: {
    name: string;
    arguments: string;
  };
}
interface CohereMessage {
  role: "user" | "assistant" | "system" | "tool";
  content: string;
  tool_call_id?: string;
  tool_calls?: CohereToolCallDef[];
}
interface CohereToolDef {
  type: string;
  function: {
    name: string;
    description?: string;
    parameters?: object;
  };
}
interface CohereRequest {
  model: string;
  messages: CohereMessage[];
  stream?: boolean;
  tools?: CohereToolDef[];
  response_format?: {
    type: string;
    json_schema?: object;
  };
}
declare function cohereToCompletionRequest(req: CohereRequest): ChatCompletionRequest;
declare function handleCohere(req: http$1.IncomingMessage, res: http$1.ServerResponse, raw: string, fixtures: Fixture[], journal: Journal, defaults: HandlerDefaults, setCorsHeaders: (res: http$1.ServerResponse) => void): Promise<void>;
//#endregion
export { cohereToCompletionRequest, handleCohere };
//# sourceMappingURL=cohere.d.cts.map