import type { AdminUser, IAdminForth } from "adminforth";
import type { ChatSurfaceIncomingMessage } from "adminforth";
import type { PreviousUserMessage } from "./agent/languageDetect.js";
import type { PluginOptions } from "./types.js";
export declare const AGENT_SYSTEM_TURN_PROMPT = "__adminforth_system_message__";
export declare class AgentSessionStore {
    private getAdminforth;
    private options;
    constructor(getAdminforth: () => IAdminForth, options: PluginOptions);
    createNewTurn(sessionId: string, prompt: string, response?: string): Promise<any>;
    createSystemTurn(sessionId: string, systemMessage: string): Promise<any>;
    getSessionTurns(sessionId: string): Promise<{
        prompt: any;
        response: any;
    }[]>;
    getPreviousUserMessages(sessionId: string): Promise<PreviousUserMessage[]>;
    getLatestTurn(sessionId: string): Promise<any>;
    getChatSurfaceSessionId(incoming: ChatSurfaceIncomingMessage): string;
    getOrCreateChatSurfaceSession(incoming: ChatSurfaceIncomingMessage, adminUser: AdminUser): Promise<string>;
}
