//#region src/serde/types.d.ts
type ConstructorRecord = {
  lc: 2;
  type: "constructor";
  id: unknown;
  method?: unknown;
  args?: unknown;
};
declare const TASKS = "__pregel_tasks";
declare const ERROR = "__error__";
declare const SCHEDULED = "__scheduled__";
declare const INTERRUPT = "__interrupt__";
declare const RESUME = "__resume__";
/**
 * Snapshot blob for a `DeltaChannel` with finite snapshot frequency.
 *
 * Stored directly in a checkpoint's `channel_values` in place of the full
 * accumulated value. The ancestor walk in
 * {@link BaseCheckpointSaver.getDeltaChannelHistory} terminates when it
 * encounters a populated `channel_values` entry for a channel; a
 * `DeltaSnapshot` value is the materialized state at that ancestor, so the
 * channel reconstructs directly from `.value` without replaying earlier
 * writes.
 *
 * @remarks Beta. The on-disk representation may change in future releases.
 */
declare class DeltaSnapshot<Value = unknown> {
  /** Marker used for structural detection across module/realm boundaries. */
  lg_name: "DeltaSnapshot";
  value: Value;
  constructor(value: Value);
}
/**
 * Structural type guard for {@link DeltaSnapshot}. Uses the `lg_name` marker
 * so it survives serialization round-trips and cross-package duplication.
 */
declare function isDeltaSnapshot<Value = unknown>(value: unknown): value is DeltaSnapshot<Value>;
interface ChannelProtocol<ValueType = unknown, UpdateType = unknown, CheckpointType = unknown> {
  ValueType: ValueType;
  UpdateType: UpdateType;
  /**
   * The name of the channel.
   */
  lc_graph_name: string;
  /**
   * Return a new identical channel, optionally initialized from a checkpoint.
   * Can be thought of as a "restoration" from a checkpoint which is a "snapshot" of the channel's state.
   *
   * @param {CheckpointType | undefined} checkpoint
   * @returns {this}
   */
  fromCheckpoint(checkpoint?: CheckpointType): this;
  /**
   * Update the channel's value with the given sequence of updates.
   * The order of the updates in the sequence is arbitrary.
   *
   * @throws {InvalidUpdateError} if the sequence of updates is invalid.
   * @param {Array<UpdateType>} values
   * @returns {void}
   */
  update(values: UpdateType[]): void;
  /**
   * Return the current value of the channel.
   *
   * @throws {EmptyChannelError} if the channel is empty (never updated yet).
   * @returns {ValueType}
   */
  get(): ValueType;
  /**
   * Return a string representation of the channel's current state.
   *
   * @throws {EmptyChannelError} if the channel is empty (never updated yet), or doesn't support checkpoints.
   * @returns {CheckpointType | undefined}
   */
  checkpoint(): CheckpointType | undefined;
}
interface SendProtocol {
  node: string;
  args: any;
  timeout?: {
    runTimeout?: number;
    idleTimeout?: number;
    refreshOn?: "auto" | "heartbeat";
  };
}
//#endregion
export { ChannelProtocol, ConstructorRecord, DeltaSnapshot, ERROR, INTERRUPT, RESUME, SCHEDULED, SendProtocol, TASKS, isDeltaSnapshot };
//# sourceMappingURL=types.d.ts.map