export const UPSTREAM_COMMIT: string; export type NativeTool = { name: string; description: string; inputSchema: object; readOnly: boolean }; export type NativeEvent = { type: string; sessionId?: string; traceId?: string; payload?: Record }; export type NativeResult = NativeEvent & { sessionId: string; response: string; usage?: Record; projection?: Record }; export function verifyRuntime(runtimeDir: string): Promise<{ commit: string; sha256: string }>; export function runNativeZcode(options: { runId: string; workspaceKey?: string; attemptId?: string; stateDir: string; runtimeDir: string; nodePath: string; modelId: string; apiType?: string; instructions: string; prompt: string; context?: unknown; sessionId?: string; signal?: AbortSignal; timeoutMs?: number; tools: NativeTool[]; model: (body: Record, path: string, signal: AbortSignal) => Promise; execute: (name: string, input: Record, callId: string, signal: AbortSignal) => Promise>; formatToolError?: (error: unknown) => string; onEvent?: (event: NativeEvent | NativeResult) => Promise; onSandbox?: (metadata: { kind: string; commit: string }) => Promise; }): Promise;