import { type AcceptanceItem, ExitCode, type Task } from '@cleocode/contracts';
export interface ValidationResult {
    valid: boolean;
    error?: string;
    fix?: string;
    exitCode?: ExitCode;
}
export interface AddTaskEnforcementOptions {
    acceptance?: AcceptanceItem[];
    priority?: string;
}
export interface UpdateTaskEnforcementOptions {
    acceptance?: AcceptanceItem[];
}
export interface AcceptanceEnforcement {
    validateCreation(options: AddTaskEnforcementOptions): ValidationResult;
    validateUpdate(task: Task, updates: UpdateTaskEnforcementOptions): ValidationResult;
    validateCompletion(task: Task): ValidationResult;
    checkMinimumCriteria(criteria: AcceptanceItem[], minCriteria: number): boolean;
}
export declare function createAcceptanceEnforcement(cwd?: string): Promise<AcceptanceEnforcement>;
//# sourceMappingURL=enforcement.d.ts.map