import { z } from 'zod';
export declare const TOOL_EDIT_REPO_DESCRIPTION: string;
export declare const toolEditRepoArgsSchema: z.ZodObject<{
    repoTarget: z.ZodString;
    prompt: z.ZodNullable<z.ZodString>;
    prUrl: z.ZodNullable<z.ZodString>;
    startNewPullRequest: z.ZodNullable<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
    prompt: string | null;
    prUrl: string | null;
    startNewPullRequest: boolean | null;
    repoTarget: string;
}, {
    prompt: string | null;
    prUrl: string | null;
    startNewPullRequest: boolean | null;
    repoTarget: string;
}>;
export declare const toolEditRepoOutputSchema: z.ZodObject<{
    result: z.ZodString;
    metadata: z.ZodDiscriminatedUnion<"status", [z.ZodObject<{
        status: z.ZodLiteral<"success">;
        repository: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        prUrl: z.ZodNullable<z.ZodString>;
        prAction: z.ZodOptional<z.ZodNullable<z.ZodEnum<["opened", "updated"]>>>;
        commitSha: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        additions: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
        deletions: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
        steps: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
            kind: z.ZodEnum<["read", "edit", "search", "compile", "stage"]>;
            label: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            label: string;
            kind: "search" | "read" | "edit" | "compile" | "stage";
        }, {
            label: string;
            kind: "search" | "read" | "edit" | "compile" | "stage";
        }>, "many">>>;
    }, "strip", z.ZodTypeAny, {
        status: "success";
        prUrl: string | null;
        steps?: {
            label: string;
            kind: "search" | "read" | "edit" | "compile" | "stage";
        }[] | null | undefined;
        repository?: string | null | undefined;
        prAction?: "opened" | "updated" | null | undefined;
        commitSha?: string | null | undefined;
        additions?: number | null | undefined;
        deletions?: number | null | undefined;
    }, {
        status: "success";
        prUrl: string | null;
        steps?: {
            label: string;
            kind: "search" | "read" | "edit" | "compile" | "stage";
        }[] | null | undefined;
        repository?: string | null | undefined;
        prAction?: "opened" | "updated" | null | undefined;
        commitSha?: string | null | undefined;
        additions?: number | null | undefined;
        deletions?: number | null | undefined;
    }>, z.ZodObject<{
        status: z.ZodLiteral<"error">;
        errorCode: z.ZodOptional<z.ZodNullable<z.ZodEnum<["repo_write_forbidden", "github_not_installed", "gitlab_not_installed", "pull_request_not_open", "git_write_permission", "repo_too_large", "denied_path", "unknown"]>>>;
        reason: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    }, "strip", z.ZodTypeAny, {
        status: "error";
        reason?: string | null | undefined;
        errorCode?: "unknown" | "github_not_installed" | "gitlab_not_installed" | "pull_request_not_open" | "git_write_permission" | "repo_write_forbidden" | "repo_too_large" | "denied_path" | null | undefined;
    }, {
        status: "error";
        reason?: string | null | undefined;
        errorCode?: "unknown" | "github_not_installed" | "gitlab_not_installed" | "pull_request_not_open" | "git_write_permission" | "repo_write_forbidden" | "repo_too_large" | "denied_path" | null | undefined;
    }>]>;
}, "strip", z.ZodTypeAny, {
    metadata: {
        status: "success";
        prUrl: string | null;
        steps?: {
            label: string;
            kind: "search" | "read" | "edit" | "compile" | "stage";
        }[] | null | undefined;
        repository?: string | null | undefined;
        prAction?: "opened" | "updated" | null | undefined;
        commitSha?: string | null | undefined;
        additions?: number | null | undefined;
        deletions?: number | null | undefined;
    } | {
        status: "error";
        reason?: string | null | undefined;
        errorCode?: "unknown" | "github_not_installed" | "gitlab_not_installed" | "pull_request_not_open" | "git_write_permission" | "repo_write_forbidden" | "repo_too_large" | "denied_path" | null | undefined;
    };
    result: string;
}, {
    metadata: {
        status: "success";
        prUrl: string | null;
        steps?: {
            label: string;
            kind: "search" | "read" | "edit" | "compile" | "stage";
        }[] | null | undefined;
        repository?: string | null | undefined;
        prAction?: "opened" | "updated" | null | undefined;
        commitSha?: string | null | undefined;
        additions?: number | null | undefined;
        deletions?: number | null | undefined;
    } | {
        status: "error";
        reason?: string | null | undefined;
        errorCode?: "unknown" | "github_not_installed" | "gitlab_not_installed" | "pull_request_not_open" | "git_write_permission" | "repo_write_forbidden" | "repo_too_large" | "denied_path" | null | undefined;
    };
    result: string;
}>;
export type ToolEditRepoArgs = z.infer<typeof toolEditRepoArgsSchema>;
export type ToolEditRepoOutput = z.infer<typeof toolEditRepoOutputSchema>;
type ToolEditRepoResultLike = {
    toolType: string;
    toolName: string;
    metadata: ToolEditRepoOutput['metadata'] | Record<string, unknown> | null;
};
type ToolEditRepoResult = ToolEditRepoResultLike & {
    toolType: 'built-in';
    toolName: 'editRepo';
    metadata: ToolEditRepoOutput['metadata'];
};
export declare const isToolEditRepoResult: <T extends ToolEditRepoResultLike>(result: T) => result is T & ToolEditRepoResult;
export {};
//# sourceMappingURL=toolEditRepoArgs.d.ts.map