import { z } from 'zod';
export declare const WorkflowStepSchema: z.ZodObject<{
    name: z.ZodString;
    type: z.ZodType<"review" | "fix" | "recheck" | "conflict-resolve">;
    reviewer: z.ZodDefault<z.ZodEnum<["auto", "claude", "codex", "origin"]>>;
    when: z.ZodOptional<z.ZodString>;
    max_rounds: z.ZodDefault<z.ZodNumber>;
    instructions: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    type: "review" | "fix" | "recheck" | "conflict-resolve";
    name: string;
    reviewer: "claude" | "codex" | "auto" | "origin";
    max_rounds: number;
    when?: string | undefined;
    instructions?: string | undefined;
}, {
    type: "review" | "fix" | "recheck" | "conflict-resolve";
    name: string;
    reviewer?: "claude" | "codex" | "auto" | "origin" | undefined;
    when?: string | undefined;
    max_rounds?: number | undefined;
    instructions?: string | undefined;
}>;
export declare const WorkflowSchema: z.ZodObject<{
    on: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
    steps: z.ZodArray<z.ZodObject<{
        name: z.ZodString;
        type: z.ZodType<"review" | "fix" | "recheck" | "conflict-resolve">;
        reviewer: z.ZodDefault<z.ZodEnum<["auto", "claude", "codex", "origin"]>>;
        when: z.ZodOptional<z.ZodString>;
        max_rounds: z.ZodDefault<z.ZodNumber>;
        instructions: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        type: "review" | "fix" | "recheck" | "conflict-resolve";
        name: string;
        reviewer: "claude" | "codex" | "auto" | "origin";
        max_rounds: number;
        when?: string | undefined;
        instructions?: string | undefined;
    }, {
        type: "review" | "fix" | "recheck" | "conflict-resolve";
        name: string;
        reviewer?: "claude" | "codex" | "auto" | "origin" | undefined;
        when?: string | undefined;
        max_rounds?: number | undefined;
        instructions?: string | undefined;
    }>, "many">;
}, "strip", z.ZodTypeAny, {
    on: string[];
    steps: {
        type: "review" | "fix" | "recheck" | "conflict-resolve";
        name: string;
        reviewer: "claude" | "codex" | "auto" | "origin";
        max_rounds: number;
        when?: string | undefined;
        instructions?: string | undefined;
    }[];
}, {
    steps: {
        type: "review" | "fix" | "recheck" | "conflict-resolve";
        name: string;
        reviewer?: "claude" | "codex" | "auto" | "origin" | undefined;
        when?: string | undefined;
        max_rounds?: number | undefined;
        instructions?: string | undefined;
    }[];
    on?: string[] | undefined;
}>;
export type WorkflowStep = z.infer<typeof WorkflowStepSchema>;
export declare const DEFAULT_REVIEW_INSTRUCTIONS: string;
export declare const DEFAULT_FIX_INSTRUCTIONS: string;
export declare const DEFAULT_RECHECK_INSTRUCTIONS: string;
export declare const DEFAULT_CONFLICT_RESOLVE_INSTRUCTIONS: string;
export declare const DEFAULT_WORKFLOW: WorkflowStep[];
export declare function loadWorkflow(operatorDir?: string): WorkflowStep[];
export interface StepResult {
    verdict?: string | null;
    commentBody?: string;
    commentUrl?: string;
    commentId?: number;
    applied_count?: number;
    skipped?: boolean;
}
export declare function evaluateWhen(expr: string, results: Record<string, StepResult>): boolean;
//# sourceMappingURL=workflow.d.ts.map