import type { ChatSession } from '../../../../../core/chat/types.js';
import type { ChatSessionCatalogEntry, ChatSessionRepository, SessionStoragePaths } from './types.js';
export declare class FileChatSessionRepository implements ChatSessionRepository {
    private readonly sessionStoragePath;
    private readonly storagePaths;
    constructor(args: {
        sessionStoragePath: string;
    });
    list(): ChatSession[];
    readCatalog(): ChatSessionCatalogEntry[];
    read(sessionId: string): ChatSession | undefined;
    save(sessions: ChatSession[]): void;
    deriveStoragePaths(): SessionStoragePaths;
    static deriveStoragePaths(storagePath: string): SessionStoragePaths;
    private loadFromCurrentStorage;
    private loadSessionsFromCatalog;
    private static readSessionFile;
    private static writeSessionFileIfChanged;
    private static writeCatalogIfChanged;
    private static readSessionFileContents;
    private static readCatalogFile;
    private static dedupeSessionsById;
    private static compareSessionOrder;
    private static sessionFilePath;
    private static removeOrphanedSessionFiles;
    private static safeReadDirFiles;
}
//# sourceMappingURL=file-chat-session-repository.d.ts.map