/**
 * 终端会话持久化服务
 *
 * 管理终端会话元数据的持久化存储
 */
import type { PersistedSession } from '../types.js';
/**
 * 获取持久化会话文件路径
 *
 * @returns 会话文件路径
 */
export declare function getPersistedSessionsFile(): string;
/**
 * 加载持久化的终端会话列表
 *
 * @returns 持久化会话列表
 */
export declare function loadPersistedSessions(): Promise<PersistedSession[]>;
/**
 * 保存持久化的终端会话列表
 *
 * @param sessions - 会话列表
 */
export declare function savePersistedSessions(sessions: PersistedSession[]): Promise<void>;
/**
 * 添加或更新持久化会话
 *
 * @param session - 会话数据
 */
export declare function upsertPersistedSession(session: PersistedSession): Promise<void>;
/**
 * 更新指定 Agent 的持久化自动命令配置。
 *
 * 主流程：加载 running 会话 -> 命中 agentId 时只替换自动命令字段，保留原 command/workspace/pid。
 */
export declare function updatePersistedSessionAutoCommands(agentId: string, commands: {
    idleInputAutoCommand: string;
    nonInputAutoCommand: string;
}): Promise<boolean>;
/**
 * 移除持久化会话（从完整文件中删除，包括 stopped 状态的）
 *
 * @param sessionId - 会话 ID
 */
export declare function removePersistedSession(sessionId: string): Promise<void>;
/**
 * 根据 agentId 查找持久化会话
 *
 * @param agentId - Agent ID
 * @returns 持久化会话，未找到返回 undefined
 */
export declare function findPersistedSessionByAgentId(agentId: string): Promise<PersistedSession | undefined>;
/**
 * 根据 agentId 移除持久化会话
 * 用于确保停止时能删除正确的持久化会话
 *
 * @param agentId - Agent ID
 */
export declare function removePersistedSessionByAgentId(agentId: string): Promise<void>;
//# sourceMappingURL=terminal-persistence.d.ts.map