import { type SpawnOptions, type SpawnResult } from "../../agent-spawn/dist/index.js"; import { type CodeReviewRunInput, type CodeReviewRunOptions } from "./config.js"; import type { CodeReviewState } from "./review-state.js"; import { CodeReviewYamlStore } from "./review-store.js"; export interface CodeReviewOrchestrationInput extends CodeReviewRunInput { prompt?: string; profile?: string; } export interface CodeReviewOrchestrationDependencies { resolveOptions?: (input: CodeReviewRunInput) => CodeReviewRunOptions | Promise; fetchPr?: (prUrl: string, cwd?: string) => Record | Promise>; fetchDiff?: (prUrl: string, cwd?: string) => string | Promise; fetchComments?: (prUrl: string, cwd?: string) => Record | Promise>; resolveAgent?: () => string | undefined | Promise; createSessionId?: () => string; store?: CodeReviewYamlStore; spawnAgent?: (agent: string, prompt: string, options: Omit) => Promise; } export interface CodeReviewResult { sessionId: string; state: CodeReviewState; prompt: string; spawnResult: SpawnResult; } export declare function runCodeReview(input: CodeReviewOrchestrationInput, dependencies?: CodeReviewOrchestrationDependencies): Promise;