/**
 * 切片执行器 — 管理开发切片的调度、隔离和单切片审查。
 *
 * 核心职责:
 * - 切片调度：按优先级串行或并行执行
 * - 切片隔离：后续切片不能影响已通过校验的切片
 * - 单切片审查：支持对任一切片单独进行代码审查
 */
/** 切片执行状态 */
export type SliceStatus = "pending" | "in_progress" | "passed" | "failed" | "reviewing";
/** 开发切片 */
export interface DevSlice {
    /** 切片 ID */
    id: string;
    /** 切片描述 */
    description_zh: string;
    /** 优先级（数字越小越优先） */
    priority: number;
    /** 涉及文件列表 */
    affected_files: string[];
    /** 依赖的切片 ID */
    depends_on: string[];
}
/** 切片执行结果 */
export interface SliceExecutionResult {
    slice_id: string;
    status: SliceStatus;
    coverage?: number;
    changed_files: string[];
    message_zh: string;
}
/** 切片审查结果 */
export interface SliceReviewResult {
    slice_id: string;
    passed: boolean;
    findings: Array<{
        severity: "info" | "warning" | "critical";
        message_zh: string;
    }>;
}
/** 切片执行器上下文 */
export interface SliceExecutionContext {
    /** 所有切片 */
    slices: DevSlice[];
    /** 已完成的切片结果 */
    results: Map<string, SliceExecutionResult>;
    /** 已通过切片占据的文件集合（用于隔离检查） */
    protected_files: Set<string>;
}
/**
 * 创建切片执行器上下文。
 */
export declare function createSliceContext(slices: DevSlice[]): SliceExecutionContext;
/**
 * 获取下一个待执行的切片。
 * 考虑依赖关系：依赖切片必须已通过。
 */
export declare function getNextSlice(ctx: SliceExecutionContext): DevSlice | null;
/**
 * 获取所有可并行执行的切片（无互相依赖且依赖都已通过）。
 */
export declare function getParallelSlices(ctx: SliceExecutionContext): DevSlice[];
/**
 * 检查切片隔离：新切片不能触碰已通过切片的受保护文件。
 */
export declare function checkSliceIsolation(ctx: SliceExecutionContext, slice: DevSlice): {
    isolated: boolean;
    conflicts: string[];
};
/**
 * 标记切片执行结果。
 * 通过时将其文件加入受保护集合。
 */
export declare function markSliceResult(ctx: SliceExecutionContext, result: SliceExecutionResult): void;
/**
 * 审查指定切片。
 */
export declare function reviewSlice(sliceId: string, findings: SliceReviewResult["findings"]): SliceReviewResult;
//# sourceMappingURL=slice_executor.d.ts.map