import type { ConversationMessageSnapshot, ConversationTitleSource } from '../core/conversation.js';
import type { HelperModel } from '../config/helper-model.js';
import type { ConfigManager } from '../config/manager.js';
export type ReturnContextMode = 'off' | 'local' | 'assisted';
export interface SessionContinuityHints {
    readonly pendingApprovals?: number;
    readonly activeTasks?: number;
    readonly blockedTasks?: number;
    readonly remoteContracts?: number;
    readonly remoteRunners?: readonly string[];
    readonly worktreeCount?: number;
    readonly worktreePaths?: readonly string[];
    readonly openPanels?: readonly string[];
}
export interface SessionReturnContextSummary {
    readonly activityLabel: string;
    readonly statusLabel: string;
    readonly lastUserPrompt?: string;
    readonly lastAssistantReply?: string;
    readonly pendingApprovals: number;
    readonly toolCallCount: number;
    readonly toolResultCount: number;
    readonly assistantTurnCount: number;
    readonly userTurnCount: number;
    readonly lastRole?: string;
    readonly activeTasks?: number;
    readonly blockedTasks?: number;
    readonly remoteContracts?: number;
    readonly remoteRunners?: readonly string[];
    readonly worktreeCount?: number;
    readonly worktreePaths?: readonly string[];
    readonly openPanels?: readonly string[];
    readonly lines: readonly string[];
    readonly assistedNarrative?: string;
}
export interface PersistedSessionContext {
    readonly titleSource?: ConversationTitleSource;
    readonly returnContext?: SessionReturnContextSummary;
}
type ReturnContextConfig = Pick<ConfigManager, 'get'>;
export declare function buildPersistedSessionContext(messages: readonly ConversationMessageSnapshot[], titleSource?: ConversationTitleSource, hints?: SessionContinuityHints): PersistedSessionContext;
export declare function getReturnContextMode(configManager: ReturnContextConfig): ReturnContextMode;
export declare function buildLocalReturnContextSummary(messages: readonly ConversationMessageSnapshot[], hints?: SessionContinuityHints): SessionReturnContextSummary;
export declare function maybeAssistReturnContextSummary(configManager: ReturnContextConfig, helperModel: Pick<HelperModel, 'chat'>, summary: SessionReturnContextSummary): Promise<SessionReturnContextSummary>;
export declare function formatReturnContextForDisplay(summary: SessionReturnContextSummary | undefined): string[];
export {};
//# sourceMappingURL=session-return-context.d.ts.map