import type { AgentAttachment, AgentEmit } from "./types.js"; type Json = Record; type CodexRunOptions = { threadId?: string; cwd?: string; }; type AgentHistoryMessage = { id: string; role: "user" | "assistant" | "tool" | "error"; title?: string; text: string; detail?: unknown; streamId?: string; }; export declare function withAgentPrompt(prompt: string): string; export declare function runCodexTurn(prompt: string, emit: AgentEmit, attachments?: AgentAttachment[], options?: CodexRunOptions): Promise; export declare function interruptCodexTurn(): boolean; export declare function startCodexThread(emit: AgentEmit, cwd?: string): Promise; export declare function resumeCodexThread(emit: AgentEmit, threadId: string, cwd?: string): Promise<{ thread: Json; messages: AgentHistoryMessage[]; }>; export declare function listCodexThreads(emit: AgentEmit, options: { cwd: string; searchTerm?: string; limit?: number; }): Promise<{ data: { id: string; sessionId: string; preview: string; name: string | null; cwd: string; status: string; source: unknown; threadSource: unknown; createdAt: number; updatedAt: number; }[]; nextCursor: {} | null; backwardsCursor: {} | null; }>; export declare function readCodexThread(emit: AgentEmit, threadId: string, cwd?: string): Promise<{ thread: { id: string; sessionId: string; preview: string; name: string | null; cwd: string; status: string; source: unknown; threadSource: unknown; createdAt: number; updatedAt: number; }; messages: AgentHistoryMessage[]; }>; export declare function verifyCodexThreadWorkspace(emit: AgentEmit, threadId: string, cwd: string): Promise; export declare function archiveCodexThread(emit: AgentEmit, threadId: string, cwd?: string): Promise; export declare function runClaudeTurn(prompt: string, emit: AgentEmit): void; export declare function summarizeCodexThread(thread: unknown): { id: string; sessionId: string; preview: string; name: string | null; cwd: string; status: string; source: unknown; threadSource: unknown; createdAt: number; updatedAt: number; }; export {};