import type { ChatMessage } from '../types/ChatMessage';
/**
 * Utility functions for persisting chat conversations in localStorage
 *
 * @private util of `LlmChat`
 */
export declare class ChatPersistence {
    private static readonly STORAGE_PREFIX;
    /**
     * In-memory fallback storage used when browser storage is unavailable or throws.
     */
    private static readonly MEMORY_STORAGE;
    /**
     * Builds normalized storage key for one persistence scope.
     */
    private static resolveStorageKey;
    /**
     * Stores serialized payload in the in-memory fallback store.
     */
    private static saveToMemoryStorage;
    /**
     * Resolves serialized payload from localStorage and falls back to in-memory storage.
     */
    private static loadSerializedMessages;
    /**
     * Save messages to localStorage under the given key
     */
    static saveMessages(persistenceKey: string, messages: ReadonlyArray<ChatMessage>): void;
    /**
     * Load messages from localStorage for the given key
     */
    static loadMessages(persistenceKey: string): ChatMessage[];
    /**
     * Clear messages from localStorage for the given key
     */
    static clearMessages(persistenceKey: string): void;
    /**
     * Check if localStorage is available
     */
    static isAvailable(): boolean;
}
