/**
 * Commit Validation
 *
 * Validates that meaningful code was committed on an agent's branch
 * before marking work as complete. Prevents agents from reporting
 * success when they only committed boilerplate (README, config files)
 * or didn't commit anything at all.
 *
 * See: GH#762, PRLT-984
 */
export interface CommitValidationResult {
    /** Whether the validation passed (meaningful code was committed) */
    passed: boolean;
    /** Total number of files changed */
    totalFiles: number;
    /** Number of non-boilerplate code files changed */
    codeFiles: number;
    /** Total lines added */
    totalInsertions: number;
    /** Total lines removed */
    totalDeletions: number;
    /** True if only boilerplate files (README, LICENSE, etc.) were modified */
    boilerplateOnly: boolean;
    /** True if no commits were found on the branch */
    noCommits: boolean;
    /** Human-readable summary of the validation result */
    details: string;
}
/**
 * Validate that meaningful code was committed on a branch.
 *
 * Checks the diff between the branch and its base branch to determine
 * if the agent actually wrote code or just committed boilerplate.
 *
 * A branch passes validation if:
 * - It has at least one commit
 * - It modifies at least one non-boilerplate file
 * - The non-boilerplate files have at least one line inserted
 *
 * @param repoPath - Path to the git repository
 * @param branch - Branch name to validate (must be checked out or reachable)
 * @param baseBranch - Base branch to compare against (auto-detected if omitted)
 */
export declare function validateCommits(repoPath: string, branch: string, baseBranch?: string): CommitValidationResult;
/**
 * Try to validate commits for an execution, resolving the repository path
 * from the agent's workspace directory.
 *
 * For container-based executions where the repo might not be accessible
 * from the host, this function tries the container first, then falls back
 * to the host filesystem.
 *
 * @param agentDir - Agent's workspace directory on the host
 * @param branch - Branch name to validate
 * @param repoWorktrees - Optional list of repo worktree names within agentDir
 * @returns Validation result, or null if the repository couldn't be accessed
 */
export declare function tryValidateCommits(agentDir: string, branch: string, repoWorktrees?: string[]): CommitValidationResult | null;
