import type { AgentTool } from "@pie-lab/agent-core";
import { type Static, Type } from "typebox";
import type { ToolDefinition } from "../extensions/types.ts";
declare const commitSplitterSchema: Type.TObject<{
    staged: Type.TOptional<Type.TBoolean>;
    base: Type.TOptional<Type.TString>;
    maxGroups: Type.TOptional<Type.TNumber>;
}>;
export type CommitSplitterToolInput = Static<typeof commitSplitterSchema>;
export interface CommitSplitterOperations {
    exec: (cmd: string, args: string[], opts: {
        cwd: string;
        signal?: AbortSignal;
    }) => Promise<{
        stdout: string;
        stderr: string;
        exitCode: number;
    }>;
}
export interface CommitSplitterToolOptions {
    operations?: CommitSplitterOperations;
}
export declare function createCommitSplitterToolDefinition(cwd: string, options?: CommitSplitterToolOptions): ToolDefinition<typeof commitSplitterSchema, undefined>;
export declare function createCommitSplitterTool(cwd: string, options?: CommitSplitterToolOptions): AgentTool<typeof commitSplitterSchema>;
export {};
//# sourceMappingURL=commit-splitter.d.ts.map