import { ReducedValue } from "../values/reduced.js";
import { DeltaValue } from "../values/delta.js";
import { Messages } from "../../graph/messages_reducer.js";
import * as _langchain_core_messages0 from "@langchain/core/messages";
import { BaseMessage } from "@langchain/core/messages";

//#region src/state/prebuilt/messages.d.ts
declare const MessagesValue: ReducedValue<BaseMessage<_langchain_core_messages0.MessageStructure<_langchain_core_messages0.MessageToolSet>, _langchain_core_messages0.MessageType>[], Messages>;
/**
 * **Experimental.** A messages state field backed by a `DeltaChannel`.
 *
 * A drop-in alternative to {@link MessagesValue} that persists only per-step
 * message deltas (plus periodic snapshots) instead of the full accumulated
 * history in every checkpoint blob. Useful for long-running threads where
 * re-serializing the entire message list on each step is costly.
 *
 * @example
 * ```ts
 * import { StateSchema, MessagesDeltaValue } from "@langchain/langgraph";
 *
 * const State = new StateSchema({ messages: MessagesDeltaValue });
 * ```
 */
declare const MessagesDeltaValue: DeltaValue<BaseMessage<_langchain_core_messages0.MessageStructure<_langchain_core_messages0.MessageToolSet>, _langchain_core_messages0.MessageType>[], Messages>;
//#endregion
export { MessagesDeltaValue, MessagesValue };
//# sourceMappingURL=messages.d.ts.map