import type { ChatSession } from '../../../../../core/chat/types.js';
import type { ApplyCompactedChatSessionHistoryInput, ApplyCompletedChatSessionTurnInput, BuildChatTurnSummaryInput, CreateChatSessionRecordOptions, MarkAcceptedConversationUserMessageFailedInput, MarkAcceptedConversationUserMessageInput } from './types.js';
export declare class ChatSessionRecords {
    static create(options: CreateChatSessionRecordOptions): ChatSession;
    static touch(session: ChatSession): ChatSession;
    static summarize(session: ChatSession): string;
    static buildTurnSummary(input: BuildChatTurnSummaryInput): {
        id: string;
        prompt: string;
        outcome: import("../../../../types.js").StopReason;
        summary: string;
        steps: number;
        traceFile: string;
        events: string[];
        presentation: import("../../../../../core/chat/types.js").ConversationTurnPresentation | undefined;
    };
    static applyCompactedHistory(input: ApplyCompactedChatSessionHistoryInput): ChatSession;
    static applyCompletedTurn(input: ApplyCompletedChatSessionTurnInput): ChatSession;
    static markAcceptedUserMessage(session: ChatSession, input: MarkAcceptedConversationUserMessageInput): ChatSession;
    static isGenericName(name: string): boolean;
    static canAutoRenameAfterFirstUserMessage(session: ChatSession): boolean;
    private static withAcceptedUserMessages;
    static markAcceptedUserMessageFailed(session: ChatSession, input: MarkAcceptedConversationUserMessageFailedInput): ChatSession;
    private static acceptedUserMessageId;
    private static isAcceptedUserMessage;
    private static isLiveMessage;
}
//# sourceMappingURL=records.d.ts.map