// GENERATED CODE! DO NOT MODIFY BY HAND!

// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
import type { Personality } from "../Personality";
import type { TranscriptItem } from "../TranscriptItem";
import type { JsonValue } from "../serde_json/JsonValue";
import type { AskForApproval } from "./AskForApproval";
import type { SandboxMode } from "./SandboxMode";

/**
 * There are three ways to resume a thread:
 * 1. By thread_id: load the thread from disk by thread_id and resume it.
 * 2. By history: instantiate the thread from memory and resume it.
 * 3. By path: load the thread from disk by path and resume it.
 *
 * The precedence is: history > path > thread_id.
 * If using history or path, the thread_id param will be ignored.
 *
 * Prefer using thread_id whenever possible.
 */
export type ThreadResumeParams = { threadId: string,
/**
 * [UNSTABLE] FOR CODEX CLOUD - DO NOT USE.
 * If specified, the thread will be resumed with the provided history
 * instead of loaded from disk.
 */
history: Array<TranscriptItem> | null,
/**
 * [UNSTABLE] Specify the rollout path to resume from.
 * If specified, the thread_id param will be ignored.
 */
path: string | null,
/**
 * Configuration overrides for the resumed thread, if any.
 */
model: string | null, modelProvider: string | null, cwd: string | null, approvalPolicy: AskForApproval | null, sandbox: SandboxMode | null, config: { [key in string]?: JsonValue } | null, baseInstructions: string | null, developerInstructions: string | null, personality: Personality | null, };
