import type { Ref } from 'vue';
/**
 * UI 状态管理器
 *
 * 职责：
 * - 管理小鲸组件特有的 UI 状态
 * - 消息选择、编辑模式等
 * - 不依赖 AG-UI SDK
 */
export declare class UIStateManager {
    private _selectedMessageIds;
    private _isSelectionMode;
    private _editingSessionCode;
    private _loadingStates;
    constructor();
    /**
     * 是否为选择模式
     */
    get isSelectionMode(): Ref<boolean, boolean>;
    /**
     * 正在编辑的会话编码
     */
    get editingSessionCode(): Ref<string | null, string | null>;
    /**
     * 切换选择模式
     */
    toggleSelectionMode(): void;
    /**
     * 启用选择模式
     */
    enableSelectionMode(): void;
    /**
     * 禁用选择模式
     */
    disableSelectionMode(): void;
    /**
     * 选中/取消选中消息
     * @param messageId 消息 ID
     */
    toggleMessageSelection(messageId: string): void;
    /**
     * 选中消息
     * @param messageId 消息 ID
     */
    selectMessage(messageId: string): void;
    /**
     * 取消选中消息
     * @param messageId 消息 ID
     */
    deselectMessage(messageId: string): void;
    /**
     * 检查消息是否被选中
     * @param messageId 消息 ID
     */
    isMessageSelected(messageId: string): boolean;
    /**
     * 清空选择
     */
    clearSelection(): void;
    /**
     * 全选消息
     * @param messageIds 所有消息 ID
     */
    selectAllMessages(messageIds: string[]): void;
    /**
     * 获取选中的消息 ID 列表
     */
    get selectedMessages(): string[];
    /**
     * 获取选中消息数量
     */
    get selectedCount(): number;
    /**
     * 检查是否有选中的消息
     */
    get hasSelection(): boolean;
    /**
     * 开始编辑会话
     * @param sessionCode 会话编码
     */
    startEditingSession(sessionCode: string): void;
    /**
     * 停止编辑会话
     */
    stopEditingSession(): void;
    /**
     * 检查是否正在编辑会话
     * @param sessionCode 会话编码（可选）
     */
    isEditingSession(sessionCode?: string): boolean;
    /**
     * 设置加载状态
     * @param key 状态键
     * @param loading 加载状态
     */
    setLoading(key: string, loading: boolean): void;
    /**
     * 获取加载状态
     * @param key 状态键
     */
    isLoading(key: string): boolean;
    /**
     * 清空所有加载状态
     */
    clearLoadingStates(): void;
    /**
     * 重置所有状态
     */
    reset(): void;
}
//# sourceMappingURL=ui-state-manager.d.ts.map