import type { RuntimeTaskImage, RuntimeTaskSessionSummary } from "../core/api-contract.js";
export interface ClineTaskSessionEntry {
    summary: RuntimeTaskSessionSummary;
    messages: ClineTaskMessage[];
    activeAssistantMessageId: string | null;
    activeReasoningMessageId: string | null;
    toolMessageIdByToolCallId: Map<string, string>;
    toolInputByToolCallId: Map<string, unknown>;
}
export interface ClineTaskMessage {
    id: string;
    role: "user" | "assistant" | "system" | "tool" | "reasoning" | "status";
    content: string;
    images?: RuntimeTaskImage[];
    createdAt: number;
    meta?: {
        toolName?: string | null;
        hookEventName?: string | null;
        toolCallId?: string | null;
        streamType?: string | null;
        messageKind?: string | null;
        displayRole?: string | null;
        reason?: string | null;
    } | null;
}
export declare function now(): number;
export declare function cloneSummary(summary: RuntimeTaskSessionSummary): RuntimeTaskSessionSummary;
export declare function cloneMessage(message: ClineTaskMessage): ClineTaskMessage;
export declare function createDefaultSummary(taskId: string): RuntimeTaskSessionSummary;
export declare function updateSummary(entry: ClineTaskSessionEntry, patch: Partial<RuntimeTaskSessionSummary>): RuntimeTaskSessionSummary;
export declare function createMessage(taskId: string, role: ClineTaskMessage["role"], content: string, images?: RuntimeTaskImage[]): ClineTaskMessage;
export declare function createMessageWithMeta(taskId: string, role: ClineTaskMessage["role"], content: string, meta: ClineTaskMessage["meta"], images?: RuntimeTaskImage[]): ClineTaskMessage;
export declare function createSessionId(taskId: string): string;
export declare function buildSessionIdPrefix(taskId: string): string;
export declare function isClineUserAttentionTool(toolName: string | null): boolean;
export declare function canReturnToRunning(reviewReason: RuntimeTaskSessionSummary["reviewReason"]): boolean;
export declare function latestAssistantMessageMatches(entry: ClineTaskSessionEntry, content: string): boolean;
export declare function clearActiveTurnState(entry: ClineTaskSessionEntry): void;
export declare function appendAssistantChunk(entry: ClineTaskSessionEntry, taskId: string, chunk: string): ClineTaskMessage;
export declare function setOrCreateAssistantMessage(entry: ClineTaskSessionEntry, taskId: string, content: string): ClineTaskMessage | null;
export declare function appendReasoningChunk(entry: ClineTaskSessionEntry, taskId: string, chunk: string): ClineTaskMessage;
export declare function setOrCreateReasoningMessage(entry: ClineTaskSessionEntry, taskId: string, content: string): ClineTaskMessage | null;
export declare function createAssistantMessage(entry: ClineTaskSessionEntry, taskId: string, content: string): ClineTaskMessage;
export declare function createReasoningMessage(entry: ClineTaskSessionEntry, taskId: string, content: string): ClineTaskMessage;
export declare function startToolCallMessage(entry: ClineTaskSessionEntry, taskId: string, input: {
    toolName: string | null;
    toolCallId: string | null;
    input: unknown;
}): ClineTaskMessage;
export declare function finishToolCallMessage(entry: ClineTaskSessionEntry, taskId: string, input: {
    toolName: string | null;
    toolCallId: string | null;
    output: unknown;
    error: string | null;
    durationMs: number | null;
}): ClineTaskMessage;
//# sourceMappingURL=cline-session-state.d.ts.map