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, localSlug: string | null): BoardIssueCoherenceFlag[]; //# sourceMappingURL=orient-coherence.d.ts.map