import type { AgentInputItem } from '../types';
import type { Session, OpenAIResponsesCompactionAwareSession } from '../memory/session';
/** Return model-visible representations only when every stored occurrence is covered in order. */
export declare function getModelVisibleSessionItems(session: Session, stored: AgentInputItem[], exchange: NonNullable<Parameters<OpenAIResponsesCompactionAwareSession['runCompaction']>[3]>): AgentInputItem[] | undefined;
/** Check the covered history before automatically compacting an approval group. */
export declare function hasCompleteApprovalGroups(items: AgentInputItem[]): boolean;
export declare function normalizeItemsForSessionPersistence(items: AgentInputItem[]): AgentInputItem[];
export declare function sessionItemArraysMatch(items: AgentInputItem[], expected: AgentInputItem[]): boolean;
export declare function agentItemRangeMatches(items: AgentInputItem[], expected: AgentInputItem[], start: number): boolean;
