import { Response as ExpressResponse, Request as ExpressRequest } from "express";
import { z } from "zod";
import { ConversationsService, SystemMessage } from "mongodb-rag-core";
import { ApiConversation } from "./utils";
import { AddCustomDataFunc, ConversationsRouterLocals } from "./conversationsRouter";
export type CreateConversationRequest = z.infer<typeof CreateConversationRequest>;
export declare const CreateConversationRequest: z.ZodObject<z.objectUtil.extendShape<{
    headers: z.ZodOptional<z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>>;
    params: z.ZodOptional<z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>>;
    query: z.ZodOptional<z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>>;
    body: z.ZodOptional<z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>>;
}, {
    headers: z.ZodObject<{
        "req-id": z.ZodString;
    }, "strip", z.ZodTypeAny, {
        "req-id": string;
    }, {
        "req-id": string;
    }>;
}>, "strip", z.ZodTypeAny, {
    headers: {
        "req-id": string;
    };
    params?: {} | undefined;
    query?: {} | undefined;
    body?: {} | undefined;
}, {
    headers: {
        "req-id": string;
    };
    params?: {} | undefined;
    query?: {} | undefined;
    body?: {} | undefined;
}>;
export interface CreateConversationRouteParams {
    conversations: ConversationsService;
    createConversationCustomData?: AddCustomDataFunc;
    systemPrompt: SystemMessage;
}
export declare function makeCreateConversationRoute({ conversations, createConversationCustomData, systemPrompt, }: CreateConversationRouteParams): (req: ExpressRequest, res: ExpressResponse<ApiConversation, ConversationsRouterLocals>) => Promise<void>;
//# sourceMappingURL=createConversation.d.ts.map