/**
 * localStorage工具函数
 */
import type { ChatMessage } from '../types';
/**
 * 存储数据接口
 */
export interface StorageData {
    history: ChatMessage[];
    uiHistory: ChatMessage[];
    timestamp: number;
    version: string;
}
/**
 * 存储配置接口
 */
export interface StorageConfig {
    enabled?: boolean;
    storageKey?: string;
    domainName?: string;
    maxHistoryCount?: number;
    version?: string;
}
/**
 * 检查是否支持localStorage
 * @returns boolean
 */
export declare function isLocalStorageSupported(): boolean;
/**
 * 从Storage加载历史记录
 * @param config 存储配置
 * @returns 加载的存储数据或null
 */
export declare function loadHistoryFromStorage(config?: Partial<StorageConfig>): Promise<StorageData | null>;
/**
 * 保存历史记录到localStorage
 * @param history 聊天历史记录
 * @param uiHistory UI历史记录
 * @param config 存储配置
 * @returns boolean 是否保存成功
 */
export declare function saveHistoryToStorage(history: ChatMessage[], uiHistory: ChatMessage[], config?: Partial<StorageConfig>): Promise<boolean>;
/**
 * 清除localStorage中的历史记录
 * @param config 存储配置
 * @returns boolean 是否清除成功
 */
export declare function clearHistoryFromStorage(config?: Partial<StorageConfig>): Promise<boolean>;
/**
 * 获取存储数据的大小（估算）
 * @param config 存储配置
 * @returns number 存储大小（字节）
 */
export declare function getStorageSize(config?: Partial<StorageConfig>): Promise<number>;
/**
 * 检查存储是否超出限制
 * @param config 存储配置
 * @param maxSize 最大大小（字节）
 * @returns boolean 是否超出限制
 */
export declare function isStorageExceedLimit(config?: Partial<StorageConfig>, maxSize?: number): Promise<boolean>;
/**
 * 创建存储管理器类
 */
export declare class ChatStorageManager {
    private config;
    constructor(config?: Partial<StorageConfig>);
    /**
     * 加载历史记录
     */
    load(): Promise<StorageData | null>;
    /**
     * 保存历史记录
     */
    save(history: ChatMessage[], uiHistory: ChatMessage[]): Promise<boolean>;
    /**
     * 清除历史记录
     */
    clear(): Promise<boolean>;
    /**
     * 获取存储大小
     */
    getSize(): Promise<number>;
    /**
     * 更新配置
     */
    updateConfig(newConfig: Partial<StorageConfig>): void;
    /**
     * 检查是否启用
     */
    isEnabled(): boolean;
}
//# sourceMappingURL=storageUtils.d.ts.map