import type { TauSdkSession } from "./types.js"; export type TauSdkDiffReviewSource = { kind: "git_diff"; diffArgs: string[]; } | { kind: "patch_files"; patchFiles: string[]; scopeLabel: string; }; export type TauSdkDiffReviewResult = { status: "returned"; outcome: "approved"; } | { status: "returned"; outcome: "commented"; review: string; } | { status: "cancelled"; reason: "tool_cancelled" | "tool_disconnected" | "controller_cancelled" | "launch_failed"; }; export type TauSdkDiffReviewStorage = { load(): Promise; save(document: unknown): Promise; }; export type TauSdkDiffReviewSubmission = { outcome: "approved"; diffCommand: string; reviewedFiles: string[]; } | { outcome: "commented"; review: string; diffCommand: string; reviewedFiles: string[]; }; export type StartTauSdkDiffReviewOptions = { session: TauSdkSession; source: TauSdkDiffReviewSource; host?: string; port?: number; signal?: AbortSignal; storage?: TauSdkDiffReviewStorage; onSubmit?: (submission: TauSdkDiffReviewSubmission) => Promise; }; export type StartedTauSdkDiffReview = { url: string; result: Promise; close(): Promise; }; export declare function startTauSdkDiffReview(options: StartTauSdkDiffReviewOptions): Promise;