/** Pure state reducers: apply an `AgentLoopEvent` to `AgentState`. */
import type { AssistantMessage, Model } from '../ai/types.js';
import { type AgentLoopEvent, type AgentMessage, type AgentState } from './core-types.js';
/** Apply one event; returns updated partial assistant message or null. */
export declare function reduceAgentLoopEvent(state: AgentState, event: AgentLoopEvent, partial: AgentMessage | null): AgentMessage | null;
/** Finalize partial assistant message at turn end; null if empty; throws if aborted-empty. */
export declare function finalizePartialAssistantMessage(partial: AgentMessage | null, signal?: AbortSignal): AgentMessage | null;
/** Build a synthetic assistant message representing a terminal error (unrecoverable failure or abort). */
export declare function createTerminalErrorMessage(model: Model<any>, error: unknown, signal?: AbortSignal): AssistantMessage;
//# sourceMappingURL=agent-state-reducer.d.ts.map