/**
 * This file was auto-generated by Fern from our API Definition.
 */
import * as serializers from "../index";
import * as Cohere from "../../api/index";
import * as core from "../../core";
import { UserMessage } from "./UserMessage";
import { AssistantMessage } from "./AssistantMessage";
import { SystemMessage } from "./SystemMessage";
import { ToolMessageV2 } from "./ToolMessageV2";
export declare const ChatMessageV2: core.serialization.Schema<serializers.ChatMessageV2.Raw, Cohere.ChatMessageV2>;
export declare namespace ChatMessageV2 {
    type Raw = ChatMessageV2.User | ChatMessageV2.Assistant | ChatMessageV2.System | ChatMessageV2.Tool;
    interface User extends UserMessage.Raw {
        role: "user";
    }
    interface Assistant extends AssistantMessage.Raw {
        role: "assistant";
    }
    interface System extends SystemMessage.Raw {
        role: "system";
    }
    interface Tool extends ToolMessageV2.Raw {
        role: "tool";
    }
}
