import { Assistant } from "./index";
import { ChatSession as IChatSession, Message, sessionStatus, Role } from "./types/chat";
/**
 * ChatSession クラスは、複数の AI 参加者によるチャットセッションの進行・状態管理を担います。
 */
declare class ChatSession implements IChatSession {
    uuid: string;
    assistants: Assistant[];
    messages: Message[];
    topic: string;
    threadId: string;
    status: sessionStatus;
    hash: string;
    createdAt: number;
    updatedAt: number;
    /**
     * コンストラクタ
     * @param session DBから取得したセッション情報
     */
    constructor(params: {
        assistants: Assistant[];
        options?: {
            topic?: string;
            threadId?: string;
        };
    });
    /**
     * メッセージを追加する
     */
    addMessage(params: {
        role: Role;
        content: string;
        senderId: string;
        displayName?: string;
        profileImage?: string;
    }): void;
    /**
     * セッションを進行させる
     */
    run(params?: {
        assistantId?: string;
    }): Promise<void>;
    /**
     * セッションを開始し、AI 同士の対話を進行する
     */
    startLoop(options: {
        limit?: number;
    }): Promise<void>;
    /**
     * AI 同士の対話ループを実行する
     */
    private runConversationLoop;
}
export default ChatSession;
