import { ObjectId, Db } from "mongodb";
import { ConversationConstants, ConversationsService, Message, AddSomeMessageParams } from "./ConversationsService";
/**
  Create {@link ConversationsService} that uses MongoDB as a data store.
 */
export declare function makeMongoDbConversationsService(database: Db, conversationConstants?: ConversationConstants): ConversationsService;
export declare function createMessage(messageParams: AddSomeMessageParams): {
    createdAt: Date;
    id: ObjectId;
    metadata?: Record<string, unknown> | undefined;
    content: string;
    role: "system";
    customData?: Record<string, unknown> | undefined;
} | {
    createdAt: Date;
    id: ObjectId;
    metadata?: Record<string, unknown> | undefined;
    content: string;
    embedding?: number[] | undefined;
    role: "user";
    customData?: Record<string, unknown> | undefined;
    contentForLlm?: string | undefined;
    preprocessedContent?: string | undefined;
    contextContent?: Partial<import("..").WithScore<import("..").EmbeddedContent>>[] | undefined;
    rejectQuery?: boolean | undefined;
} | {
    createdAt: Date;
    id: ObjectId;
    metadata?: Record<string, unknown> | undefined;
    name: string;
    content: string;
    role: "function";
    customData?: Record<string, unknown> | undefined;
} | {
    createdAt: Date;
    id: ObjectId;
    metadata?: (Record<string, unknown> & import("./ConversationsService").AssistantMessageMetadata) | undefined;
    content: string;
    references?: {
        url: string;
        title: string;
        metadata?: import("zod").objectOutputType<{
            sourceName: import("zod").ZodOptional<import("zod").ZodString>;
            sourceType: import("zod").ZodOptional<import("zod").ZodString>;
            tags: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
        }, import("zod").ZodTypeAny, "passthrough"> | undefined;
    }[] | undefined;
    role: "assistant";
    customData?: Record<string, unknown> | undefined;
    rating?: boolean | undefined;
    userComment?: string | undefined;
    functionCall?: import("openai/resources/index.mjs").ChatCompletionMessage.FunctionCall | undefined;
};
/**
  Create a {@link Message} object from the {@link OpenAiChatMessage} object.
 */
export declare function createMessageFromOpenAIChatMessage(chatMessage: AddSomeMessageParams): Message;
//# sourceMappingURL=MongoDbConversations.d.ts.map