import type { AgentTool } from "@pie-lab/agent-core";
import { type Static, Type } from "typebox";
import type { ToolDefinition } from "../extensions/types.ts";
declare const codeReviewSchema: Type.TObject<{
    path: Type.TOptional<Type.TString>;
    staged: Type.TOptional<Type.TBoolean>;
    base: Type.TOptional<Type.TString>;
    checks: Type.TOptional<Type.TArray<Type.TString>>;
}>;
export type CodeReviewToolInput = Static<typeof codeReviewSchema>;
export interface CodeReviewOperations {
    exec: (cmd: string, args: string[], opts: {
        cwd: string;
        signal?: AbortSignal;
    }) => Promise<{
        stdout: string;
        stderr: string;
        exitCode: number;
    }>;
}
export interface CodeReviewToolOptions {
    operations?: CodeReviewOperations;
}
export declare function createCodeReviewToolDefinition(cwd: string, options?: CodeReviewToolOptions): ToolDefinition<typeof codeReviewSchema, undefined>;
export declare function createCodeReviewTool(cwd: string, options?: CodeReviewToolOptions): AgentTool<typeof codeReviewSchema>;
export {};
//# sourceMappingURL=code-review.d.ts.map