import type { BoardItem } from '../adapters/github-cli-project.js';
/** A board card flagged as out of sync with the open-issue set. */
export interface BoardIssueCoherenceFlag {
    boardItemTitle: string;
    /** The card's board status (always an active status — terminal cards are never flagged). */
    boardStatus: string;
    /** The linked issue number that is closed or absent from the open set. */
    issueNumber: number;
    kind: 'issue-closed-or-absent';
}
export declare const TERMINAL_BOARD_STATUS: RegExp;
/** A board item is active when its status is not a terminal/reference status. Absent status ⇒ 'Todo' ⇒ inactive. */
export declare function isActiveBoardItem(item: BoardItem): boolean;
/**
 * Flag active board cards whose linked issue is absent from THIS repo's open-issue set.
 *
 * Scoped to the current repo (`localSlug`) because GH Projects are commonly
 * ORG-level boards spanning multiple repos: a card for another repo's issue —
 * or a PR card, whose number lives in a different namespace than the issue set —
 * compared against this repo's open-ISSUE set would false-flag every healthy
 * cross-repo/PR card as "drift". A coherence sensor that cries wolf on healthy
 * cards is worse than none, so the gate is deliberately conservative (derive no
 * coherence rather than wrong coherence):
 * - ONLY active-status cards (terminal-status cards are never flagged).
 * - ONLY cards whose `contentRepo` is THIS repo; cross-repo / repo-unknown cards skipped.
 * - ONLY `Issue`-type cards; PR cards and draft cards (no number) skipped.
 * - Pure: derives solely from its arguments — issues NO `gh` calls.
 *
 * @param localSlug current repo as `owner/repo`; null (repo undetermined) ⇒ NO
 *   coherence is derived, because an unscoped check can only be wrong.
 */
export declare function flagBoardIssueDrift(boardItems: BoardItem[], openIssueNumbers: ReadonlySet<number>, localSlug: string | null): BoardIssueCoherenceFlag[];
//# sourceMappingURL=orient-coherence.d.ts.map