import type { Database } from "bun:sqlite";
import type { Task } from "../types/index.js";
import { type CompletionGuardConfig } from "./config.js";
/**
 * Checks completion guards before allowing a task to be marked as completed.
 * Throws CompletionGuardError if any guard condition is violated.
 *
 * Guards:
 * 1. Status check — task must be in_progress
 * 2. Minimum work duration — must have spent enough time since startTask()
 * 3. Rate limit — max completions per agent per time window
 * 4. Cooldown — minimum gap between consecutive completions
 *
 * @param configOverride - Optional config override (used in tests)
 */
export declare function checkCompletionGuard(task: Task, agentId: string | null, db: Database, configOverride?: Required<CompletionGuardConfig>): void;
//# sourceMappingURL=completion-guard.d.ts.map