import type { ChatMessage } from '../../../../../core/llm/types.js';
import type { ChatArchiveManifest, ChatArchiveRecord } from '../../../../../core/chat/types.js';
import type { ChatArchivePaths, ChatArchiveRepository } from './types.js';
export declare class FileChatArchiveRepository implements ChatArchiveRepository {
    private readonly stateRoot;
    private readonly sessionId;
    private readonly paths;
    constructor(args: {
        stateRoot: string;
        sessionId: string;
    });
    derivePaths(): ChatArchivePaths;
    ensureArchiveDir(): ChatArchivePaths;
    loadManifest(): ChatArchiveManifest;
    saveManifest(manifest: ChatArchiveManifest): void;
    writeMessagesJsonl(archiveId: string, messages: ChatMessage[]): string;
    writeSummaryMarkdown(archiveId: string, summary: string): string;
    readSummaryMarkdown(path: string): string | undefined;
    static derivePaths(stateRoot: string, sessionId: string): ChatArchivePaths;
    static createArchiveId(now?: Date): string;
    static appendManifestArchive(current: ChatArchiveManifest, archive: ChatArchiveRecord): ChatArchiveManifest;
    private static emptyManifest;
    private static parseManifest;
    private static parseArchiveRecord;
    private static resolveDisplayPath;
}
//# sourceMappingURL=file-chat-archive-repository.d.ts.map