import { z } from 'zod';
/**
 * Canonical, cross-surface input contract for starting reviews.
 *
 * This is not a “backend contract”. It is a generalized review intent input that
 * can be interpreted by different review engines (LLM prompt reviews, native CLIs).
 */
export declare const ReviewChangeTypeSchema: z.ZodEnum<{
    all: "all";
    committed: "committed";
    uncommitted: "uncommitted";
}>;
export type ReviewChangeType = z.infer<typeof ReviewChangeTypeSchema>;
export declare const ReviewBaseSchema: z.ZodUnion<readonly [z.ZodObject<{
    kind: z.ZodLiteral<"none">;
}, z.core.$loose>, z.ZodObject<{
    kind: z.ZodLiteral<"branch">;
    baseBranch: z.ZodString;
}, z.core.$loose>, z.ZodObject<{
    kind: z.ZodLiteral<"commit">;
    baseCommit: z.ZodString;
}, z.core.$loose>]>;
export type ReviewBase = z.infer<typeof ReviewBaseSchema>;
export declare const ReviewEngineIdSchema: z.ZodString;
export type ReviewEngineId = z.infer<typeof ReviewEngineIdSchema>;
export declare const CodeRabbitReviewEngineInputSchema: z.ZodObject<{
    configFiles: z.ZodOptional<z.ZodArray<z.ZodString>>;
    plain: z.ZodOptional<z.ZodBoolean>;
    promptOnly: z.ZodOptional<z.ZodBoolean>;
    maxFiles: z.ZodOptional<z.ZodNumber>;
}, z.core.$strict>;
export type CodeRabbitReviewEngineInput = z.infer<typeof CodeRabbitReviewEngineInputSchema>;
export declare const ReviewEngineInputsSchema: z.ZodObject<{
    coderabbit: z.ZodDefault<z.ZodOptional<z.ZodObject<{
        configFiles: z.ZodOptional<z.ZodArray<z.ZodString>>;
        plain: z.ZodOptional<z.ZodBoolean>;
        promptOnly: z.ZodOptional<z.ZodBoolean>;
        maxFiles: z.ZodOptional<z.ZodNumber>;
    }, z.core.$strict>>>;
}, z.core.$loose>;
export type ReviewEngineInputs = z.infer<typeof ReviewEngineInputsSchema>;
export declare const ReviewStartInputSchema: z.ZodObject<{
    sessionId: z.ZodOptional<z.ZodString>;
    engineIds: z.ZodArray<z.ZodString>;
    instructions: z.ZodString;
    changeType: z.ZodDefault<z.ZodEnum<{
        all: "all";
        committed: "committed";
        uncommitted: "uncommitted";
    }>>;
    base: z.ZodDefault<z.ZodUnion<readonly [z.ZodObject<{
        kind: z.ZodLiteral<"none">;
    }, z.core.$loose>, z.ZodObject<{
        kind: z.ZodLiteral<"branch">;
        baseBranch: z.ZodString;
    }, z.core.$loose>, z.ZodObject<{
        kind: z.ZodLiteral<"commit">;
        baseCommit: z.ZodString;
    }, z.core.$loose>]>>;
    engines: z.ZodPrefault<z.ZodObject<{
        coderabbit: z.ZodDefault<z.ZodOptional<z.ZodObject<{
            configFiles: z.ZodOptional<z.ZodArray<z.ZodString>>;
            plain: z.ZodOptional<z.ZodBoolean>;
            promptOnly: z.ZodOptional<z.ZodBoolean>;
            maxFiles: z.ZodOptional<z.ZodNumber>;
        }, z.core.$strict>>>;
    }, z.core.$loose>>;
    permissionMode: z.ZodDefault<z.ZodString>;
}, z.core.$loose>;
export type ReviewStartInput = z.infer<typeof ReviewStartInputSchema>;
//# sourceMappingURL=reviewStart.d.ts.map