import { Comment, Config } from '../types';
import { TaskProvider } from '../providers';
/**
 * Stable phrase embedded in the conflict comment so we can detect a previously
 * posted notice on later cron ticks and avoid spamming the ticket. Changing
 * this phrase will cause one duplicate notice on tickets that already received
 * a notice from a previous version.
 */
export declare const ACCEPTED_CONFLICT_MARKER = "has merge conflicts and cannot be auto-merged";
/**
 * Comment posted on the task immediately before merging an accepted PR (so the
 * ticket records that aidev is performing the merge).
 */
export declare function buildAcceptedMergeComment(config: Config, branchName: string): string;
/**
 * One-time notice posted when an accepted PR cannot be merged because of
 * conflicts. Phrased so {@link hasAlreadyNotifiedConflict} can detect it on
 * later runs.
 */
export declare function buildAcceptedConflictComment(config: Config, branchName: string, baseBranch: string): string;
/**
 * Comment posted when `gh pr merge` fails for a reason other than conflicts
 * (e.g. branch protection, required checks not green, missing approvals, gh
 * not authenticated). Includes the raw gh error so the user can act on it
 * without having to dig through aidev's local logs.
 */
export declare function buildAcceptedMergeFailureComment(config: Config, branchName: string, reason: string): string;
export declare function hasAlreadyNotifiedConflict(comments: Comment[], commentPrefix: string): boolean;
/**
 * Pick the configured done status, otherwise probe the board for one of the
 * common "done" names (done / closed / finish / success / prod). Returns null
 * when nothing matches and no override was given.
 */
export declare function resolveDoneStatus(config: Config, provider: TaskProvider): Promise<string | null>;
/**
 * Process "accepted" tasks: find tasks in review status with the accepted tag,
 * post a short merge notice on each ticket, merge their PRs via gh CLI (squash +
 * delete branch), update status to done, then checkout main and pull.
 */
export declare function acceptedCommand(config: Config, provider: TaskProvider): Promise<void>;
//# sourceMappingURL=accepted.d.ts.map