/**
 * Merge Node Prompt Builders
 *
 * Builds prompts for agent calls in the merge node:
 * 1. buildCommitPushPrPrompt — commit (always), push (conditional), PR create (conditional)
 * 2. buildCiWatchFixPrompt — diagnose and fix CI failures
 *
 * NOTE: The actual PR merge and local squash-merge are handled directly by
 * GitPrService.mergePr() and GitPrService.localMergeSquash() — not via agent prompts.
 */
import { type Evidence } from '../../../../../../domain/generated/output.js';
import type { FeatureAgentState } from '../../state.js';
/**
 * Parse a GitHub remote URL (HTTPS or SSH) into owner/repo.
 * Returns null if the URL does not match a known GitHub format.
 */
export declare function parseGitHubOwnerRepo(remoteUrl: string): {
    owner: string;
    repo: string;
} | null;
/**
 * Build a markdown evidence section from evidence records.
 * Returns empty string when no evidence is available.
 * When branch and repoUrl are provided, image paths are converted to
 * absolute raw.githubusercontent.com URLs for correct rendering in PR bodies.
 */
export declare function formatEvidenceSection(evidence: Evidence[], branch?: string, repoUrl?: string): string;
/**
 * Build a prompt for the commit + push + PR agent call.
 *
 * The agent always commits. Push and PR creation are conditional based
 * on state.push and state.openPr flags.
 */
export declare function buildCommitPushPrPrompt(state: FeatureAgentState, branch: string, baseBranch: string, repoUrl?: string): string;
/**
 * Build a prompt for agent-based local squash merge with conflict resolution.
 *
 * Used as a fallback when the programmatic localMergeSquash encounters merge
 * conflicts. The agent resolves conflicts using its full coding capabilities,
 * then commits and cleans up.
 *
 * @param repositoryPath - Path to the original repository (not worktree)
 * @param featureBranch - Branch to squash-merge from
 * @param baseBranch - Target branch (e.g. main)
 * @param commitMessage - Commit message for the squash merge commit
 * @param conflictDetails - Stdout/stderr from the failed merge attempt describing the conflicts
 */
export declare function buildLocalSquashMergePrompt(repositoryPath: string, featureBranch: string, baseBranch: string, commitMessage: string, conflictDetails: string): string;
/**
 * Build a prompt for the CI watch/fix agent call.
 *
 * Instructs the executor to diagnose CI failure logs, apply a targeted fix,
 * commit with the prescribed conventional message format, and push to the branch.
 *
 * @param failureLogs - Truncated CI failure log output
 * @param attemptNumber - 1-based current attempt number
 * @param maxAttempts - Maximum allowed attempts
 * @param branch - Feature branch name to push to after fixing
 */
export declare function buildCiWatchFixPrompt(failureLogs: string, attemptNumber: number, maxAttempts: number, branch: string): string;
/**
 * Build a prompt for the CI watch agent call.
 *
 * Instructs the agent to check ALL CI runs for a branch, wait for all
 * to complete, verify every run passed, and report structured status.
 * Generic — works with any git/gh repo, not tied to specific workflows.
 *
 * @param branch - Feature branch name to watch CI for
 */
export declare function buildCiWatchPrompt(branch: string): string;
//# sourceMappingURL=merge-prompts.d.ts.map