import { RunInputItem } from '../items';
import { RunState } from '../runState';
import type { AgentInputItem } from '../types';
type PendingInputPreparation = {
    turnInput: AgentInputItem[];
    sourceItems: (AgentInputItem | undefined)[];
    persistedItems: AgentInputItem[];
    sourceMatchKinds: Array<'identity' | 'content' | 'fallback' | 'injected'>;
    preserveInputIdentity: boolean;
};
/**
 * Resolves which staged occurrences reached the model after filtering.
 */
export declare function selectPendingInputForAdmission(pendingItems: RunInputItem[], preparation: PendingInputPreparation): RunInputItem[];
/**
 * Preserves staged occurrence identity through sandbox capability processing.
 */
export declare function mapPendingInputAfterContextProcessing(pendingItems: RunInputItem[], preparedItems: AgentInputItem[], processedItems: AgentInputItem[]): RunInputItem[];
/**
 * Commits accepted occurrences to RunState and leaves omitted occurrences pending.
 */
export declare function commitPendingInput(state: RunState<any, any>, preparedItems: RunInputItem[], admittedItems: RunInputItem[], sourceItems: AgentInputItem[]): void;
/**
 * Returns whether a committed input occurrence still belongs to the unpersisted
 * suffix for the current local-session turn.
 */
export declare function hasUnpersistedRunInput(state: RunState<any, any>): boolean;
export {};
