import { z } from 'zod';
/**
 * Parameters for retrieving diffstat between two refs (branches, tags, or commit hashes)
 */
export declare const GetDiffstatParamsSchema: z.ZodObject<{
    workspace: z.ZodString;
    repo_slug: z.ZodString;
    /** e.g., "main..feature" or "hashA..hashB" */
    spec: z.ZodString;
    pagelen: z.ZodOptional<z.ZodNumber>;
    cursor: z.ZodOptional<z.ZodNumber>;
    topic: z.ZodOptional<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
    workspace: string;
    repo_slug: string;
    spec: string;
    pagelen?: number | undefined;
    cursor?: number | undefined;
    topic?: boolean | undefined;
}, {
    workspace: string;
    repo_slug: string;
    spec: string;
    pagelen?: number | undefined;
    cursor?: number | undefined;
    topic?: boolean | undefined;
}>;
export type GetDiffstatParams = z.infer<typeof GetDiffstatParamsSchema>;
export declare const GetRawDiffParamsSchema: z.ZodObject<{
    workspace: z.ZodString;
    repo_slug: z.ZodString;
    spec: z.ZodString;
}, "strip", z.ZodTypeAny, {
    workspace: string;
    repo_slug: string;
    spec: string;
}, {
    workspace: string;
    repo_slug: string;
    spec: string;
}>;
export type GetRawDiffParams = z.infer<typeof GetRawDiffParamsSchema>;
/**
 * Schema for a single file change entry in diffstat
 */
export declare const DiffstatFileChangeSchema: z.ZodObject<{
    status: z.ZodString;
    old: z.ZodOptional<z.ZodNullable<z.ZodObject<{
        path: z.ZodString;
        type: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        path: string;
        type?: string | undefined;
    }, {
        path: string;
        type?: string | undefined;
    }>>>;
    new: z.ZodOptional<z.ZodNullable<z.ZodObject<{
        path: z.ZodString;
        type: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        path: string;
        type?: string | undefined;
    }, {
        path: string;
        type?: string | undefined;
    }>>>;
    lines_added: z.ZodOptional<z.ZodNumber>;
    lines_removed: z.ZodOptional<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
    status: string;
    old?: {
        path: string;
        type?: string | undefined;
    } | null | undefined;
    new?: {
        path: string;
        type?: string | undefined;
    } | null | undefined;
    lines_added?: number | undefined;
    lines_removed?: number | undefined;
}, {
    status: string;
    old?: {
        path: string;
        type?: string | undefined;
    } | null | undefined;
    new?: {
        path: string;
        type?: string | undefined;
    } | null | undefined;
    lines_added?: number | undefined;
    lines_removed?: number | undefined;
}>;
/**
 * Schema for diffstat API response (paginated)
 */
export declare const DiffstatResponseSchema: z.ZodObject<{
    pagelen: z.ZodOptional<z.ZodNumber>;
    values: z.ZodArray<z.ZodObject<{
        status: z.ZodString;
        old: z.ZodOptional<z.ZodNullable<z.ZodObject<{
            path: z.ZodString;
            type: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            path: string;
            type?: string | undefined;
        }, {
            path: string;
            type?: string | undefined;
        }>>>;
        new: z.ZodOptional<z.ZodNullable<z.ZodObject<{
            path: z.ZodString;
            type: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            path: string;
            type?: string | undefined;
        }, {
            path: string;
            type?: string | undefined;
        }>>>;
        lines_added: z.ZodOptional<z.ZodNumber>;
        lines_removed: z.ZodOptional<z.ZodNumber>;
    }, "strip", z.ZodTypeAny, {
        status: string;
        old?: {
            path: string;
            type?: string | undefined;
        } | null | undefined;
        new?: {
            path: string;
            type?: string | undefined;
        } | null | undefined;
        lines_added?: number | undefined;
        lines_removed?: number | undefined;
    }, {
        status: string;
        old?: {
            path: string;
            type?: string | undefined;
        } | null | undefined;
        new?: {
            path: string;
            type?: string | undefined;
        } | null | undefined;
        lines_added?: number | undefined;
        lines_removed?: number | undefined;
    }>, "many">;
    page: z.ZodOptional<z.ZodNumber>;
    size: z.ZodOptional<z.ZodNumber>;
    next: z.ZodOptional<z.ZodString>;
    previous: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    values: {
        status: string;
        old?: {
            path: string;
            type?: string | undefined;
        } | null | undefined;
        new?: {
            path: string;
            type?: string | undefined;
        } | null | undefined;
        lines_added?: number | undefined;
        lines_removed?: number | undefined;
    }[];
    page?: number | undefined;
    pagelen?: number | undefined;
    size?: number | undefined;
    next?: string | undefined;
    previous?: string | undefined;
}, {
    values: {
        status: string;
        old?: {
            path: string;
            type?: string | undefined;
        } | null | undefined;
        new?: {
            path: string;
            type?: string | undefined;
        } | null | undefined;
        lines_added?: number | undefined;
        lines_removed?: number | undefined;
    }[];
    page?: number | undefined;
    pagelen?: number | undefined;
    size?: number | undefined;
    next?: string | undefined;
    previous?: string | undefined;
}>;
export type DiffstatResponse = z.infer<typeof DiffstatResponseSchema>;
